Курсовая работа: Delphi: работа с MS WORD

...

j:=2;

varcol:=WordDocument1.Tables.Item(i).Columns.Item(j);

WordDocument1.Tables.Item(i).Columns.Add(varcol);

Совершенно аналогично поступаем и со строками. Вообще в скобках указаны строка или столбец, перед которыми происходит вставка. Однако явно указать в скобках почему-то нельзя, надо через переменную.

Теперь про объединение ячеек. Довольно просто:

WordDocument1.Tables.Item(i).Cell(j,k).Merge(WordDocument1.Tables.Item(i).Cell(j,k+1));

Мы объединили две соседние по горизонтали ячейки (j,k) и (j,k+1). При этом получается, что большая ячейка как бы имеет два "адреса". Аналогично надо действовать и при объединении по вертикали. Все точно так же, но с нумерацией ячеек после объединения двух соседних по вертикали начинается путаница и при попытке заполнить таблицу возникают ошибки. Теперьразобьемячейки.

varrow:=1;

varcol:=2;

WordDocument1.Tables.Item(i).Cell(j,k).Split(varrow, varcol);

Здесь мы разбили ячейку (j,k) на две по горизонтали. Переменные varcol и varrow типа OleVariant, это количество столбцов и строк, на которые разбивается данная ячейка. Здесь снова с нумерацией начинается чехарда, так что этот вопрос разбиения и объединения ячеек представляет скорее чисто теоретический интерес. В таких случаях лучше заранее приготовить шаблоны.

Теперь для примера удалим из таблицы второй столбец или третью строку:

WordDocument1.Tables.Item(i).Columns.Item(2).Delete;

WordDocument1.Tables.Item(i).Rows.Item(3).Delete;

Внешний вид таблицы

Простейшая таблица, конечно, смотрится не очень. Теперь посмотрим, как мы можем ее приукрасить. При желании все сделать посимпатичнее можем использовать текстуру. Выглядеть это будет так:

WordDocument1.Tables.Item(i).Cell(j,k).Shading.Texture:=wdTexture20Percent;

Совершенно аналогично можем сделать текстуру в целом столбце или строке:

WordDocument1.Tables.Item(i).Columns.Item(j).Shading.Texture:=wdTexture20Percent;

WordDocument1.Tables.Item(i).Rows.Item(j).Shading.Texture:=wdTexture20Percent;

Текстура задается шестнадцатеричной константой, список констант можно найти заголовочном файле Word2000.pas. Можно их использовать как в шестнадцатеричном, так и в символьном виде. Чтобы не загромождать материал, значения констант будут выноситься в "Приложение" в конце статьи. Сразу оговорюсь, что заливка будет черно-белая или в шкале серого. Заливку определенным цветом пока так и не удалось обнаружить. Самая первая константа означает отсутствие заливки. Ее можно использовать, чтобы отменить текстуру.
Чтобы выделить что-нибудь важное, можем изменить шрифт текста в определенной ячейке. Дляэтоговоспользуемсясвойствамиобъекта Selection:

WordDocument1.Tables.Item(i).Cell(1,2).Select;

WordApplication1.Selection.Font.Color:=clRed;

WordApplication1.Selection.Font.Italic:=1;

WordApplication1.Selection.Font.Size:=16;

В данном примере мы сделали цвет текста в ячейке (1,2) красным, выделили его курсивом и изменили размер на 16. Кроме того, можем сделать шрифт подчеркнутым, перечеркнутым и т.п.

Еще один способ изменить внешний вид таблицы - использовать стилевые шаблоны Word'a. У таблицы имеется метод AutoFormat, который меняет внешний вид таблицы в соответствии с некими предопределенными стилями. В заголовочном файле он описан следующим образом:

procedure AutoFormat(var Format: OleVariant; var ApplyBorders: OleVariant;

К-во Просмотров: 934
Бесплатно скачать Курсовая работа: Delphi: работа с MS WORD