![]() |
![]() |
|
Создание и редактирование таблиц в ворде! | ☑ | ||
---|---|---|---|---|
0
mzelensky
18.02.10
✎
16:54
|
Нужно сформировать отчет и перегнать его в ворд. Проблема в том, что приходится создавать программно несколько таблиц. Нашел следующий код для 8.1:
Word.Application.ActiveDocument.Paragraphs.Add(); Номер=Word.Application.ActiveDocument.Paragraphs.Count(); Word.Application.ActiveDocument.Tables.add(Word.Application.ActiveDocument.Paragraphs(Номер).Range,1,4); В результате таблица действительно добавилось, все классно, НО - у нее выставлено значение в "Границы и Заливка" "Нет границ", т.е. визуально саму таблику просто не видно (саму сетку)!!! Как прописать параметр, чтобы границы были видны??? |
|||
1
mzelensky
24.02.10
✎
11:09
|
Если кому-то интересно, то сделал вот так:
таблкол=1; //Номер таблицы, по счету, в документе word (параметр вводил, така как у меня тоблицы создавались в цикле) Word.Application.ActiveDocument.Paragraphs.Add(); //добавляем параграф Номер=Word.Application.ActiveDocument.Paragraphs.Count(); //получаем номер параграфа Word.Application.ActiveDocument.Tables.add(Word.Application.ActiveDocument.Paragraphs(Номер).Range,1,4); //создаем новую таблицу размером 1*4 (1 строка и 4 колонки). Вставляем ее в параграф с соответствующим номером "Номер" (в данном случае в конец документа). Word.Application.ActiveDocument.Tables(таблкол).AutoFormat(16); //выставляем формат отображения таблицы. В данном случае таблица будет с обычной границей, без заливки. Параметр варьируется от 0 до...(примерно несколько десятков). Удобно просто в цикле перебрать, а потом выбрать нужный! Word.Application.ActiveDocument.Tables(таблкол).Rows(1).Cells(1).Range.Text = Строка("Тип работы, название"); //заполняем яцейки таблицы текстом Word.Application.ActiveDocument.Tables(таблкол).Rows(1).Cells(2).Range.Text = Строка("Объем, п.л."); /заполняем яцейки таблицы текстом Word.Application.ActiveDocument.Tables(таблкол).Rows(1).Cells(3).Range.Text = Строка("Место издания, тираж"); /заполняем яцейки таблицы текстом Word.Application.ActiveDocument.Tables(таблкол).Rows(1).Cells(4).Range.Text = Строка("Авторы"); /заполняем яцейки таблицы текстом Word.Application.ActiveDocument.Range( Word.Application.ActiveDocument.Tables(таблкол).Cell(1,1).Range.Start,Word.Application.ActiveDocument.Tables(таблкол).Cell(1,4).Range.End).Font.Bold = Истина; // выделяем область яцеек с 1 по 4 для первой строки и выставляем шрифт "Жирный" Word.Application.ActiveDocument.Range( Word.Application.ActiveDocument.Tables(таблкол).Cell(1,1).Range.Start,Word.Application.ActiveDocument.Tables(таблкол).Cell(1,4).Range.End).Font.size = 14; // выделяем область яцеек с 1 по 4 для первой строки и выставляем размер шрифта "14" Word.Application.ActiveDocument.Range( Word.Application.ActiveDocument.Tables(таблкол).Cell(1,1).Range.Start,Word.Application.ActiveDocument.Tables(таблкол).Cell(1,4).Range.End).ParagraphFormat.Alignment = 1; // выделяем область яцеек с 1 по 4 для первой строки и выставляем выравнивание текста "По центру". Параметр варьируется от 0 до 3. (левый край, центр, правый край, по ширине соответственно) Word.Application.ActiveDocument.Tables(таблкол).Rows.Add(); //добавляем новую строчку в эту таблицу Может кому пригодится :) |
|||
2
Stim
24.02.10
✎
11:13
|
ну что можно сказать... молодец!:)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |