
- •Часть 2. Работа с ole-сервером Word.
- •2.1 Получение доступа к интерфейсу Application для Word.
- •2.2 Интерфейсы и константы
- •2.3 Создание рабочего документа
- •2.3.1 Вывод текстовой информации.
- •2.3.2 Изменение параметров документа.
- •2.4 Работа с таблицами.
- •2.5 Текст кода программы.
- •2.6 Работа с диаграммами.
- •2.6.1 Копирование диаграммы из рабочей книги Excel.
- •2.7 Некоторые другие возможности.
2.4 Работа с таблицами.
Добавим к создаваемому документу табличку, как показано на рисунке.
Рис 2.4 Пример работы с таблицей.
Для добавления таблицы определим для нее параграф - добавляем два параграфа и в последнем добавленном параграфе разместим таблицу.
vVarParagraphs.OleProcedure("Add");
vVarParagraphs.OleProcedure("Add");
vVarParagraph=vVarParagraphs.OleFunction("Item",8);
Выбираем ряд в параграфе.
vVarRange = vVarParagraph.OlePropertyGet("Range");
Центрируем содержимое параграфа.
vVarParagraph.OlePropertySet("Alignment",1);
Добавляем таблицу OleProcedure("Add", Range, Rows, Columns, DefaultTableBehavior(0,1),AutoFitBehavior(0,1,2)); Две последние константы определяют стиль таблицы применительно к версии Word. Таблицу добавляем к активному документу в выбранный ряд.
vVarDoc.OlePropertyGet("Tables").
OleProcedure("Add", vVarRange, 3, 9,1,1);
Работать будем с первой таблицей - создана тоже одна.
vVarTable=vVarDoc.OlePropertyGet("Tables").
OleFunction("Item",1);
Выравниваем таблицу по центру.
vVarTable.OlePropertyGet("Rows").
OlePropertySet("Alignment",1);
Константы выравнивания:
wdAlignRowLeft = 0;
wdAlignRowCenter = 1;
wdAlignRowRight = 2.
Установка ширины таблицы Ширина таблицы может быть фиксированная, иметь разме по содержимому ячеек или ширине окна.
vVarTable.OleFunction("AutoFitBehavior",2);
wdAutoFitFixed = 0;
wdAutoFitContent = 1;
wdAutoFitWindow = 2.
Сетка в таблице как ни странно не свойство самой таблицы.
vVarApp.OlePropertyGet("ActiveWindow").
OlePropertyGet("View").
OlePropertySet("TableGridlines",true);
Устанавливаем стиль таблицы.
vVarTable.OleFunction("AutoFormat",25,true,true,
true,true,
true,false,
true,false,true);
//////Или////////
vVarTable.OleFunction("AutoFormat",25);
Здесь:
OleFunction("AutoFormat",Format,Borders,Shading,
Font,Color,HeadingRows,LastRow,
FirstColumn,LastColumn,AutoFit);
Стилей таблиц в стандартном наборе Word 43 - константы Format от 0 до 42. Остальные параметры определяют соответственно использование границ, заливки шрифта, цвета ячеек, оформления верхней, нижней строки, оформления первого и последнего столбце и автоподборв. При использовании шаблонов достаточно указать/только Format.
Занесение информации в ячейки. Для этого выполняется следущая последовательность действий:
Выбирается ячейка:
vVarCell=vVarTable.OleFunction("Cell",x,y);
-здесь x и y координаты ячейки.
vVarCell.OleFunction("Select");
Выбираем свойство Selection приложения.
v = vVarApp.OlePropertyGet("Selection").
OlePropertyGet("Font");
Изменяем параметры шрифта, те которые изменились с последней установки его для свойства Selection, например:
v.OlePropertySet("Size",16);
v.OlePropertySet("Underline",0);
v.OlePropertySet("Color",clYellow);
Добавляем текст в ячейку:
vVarCell.OlePropertyGet("Range").
OlePropertySet("Text","Наш текст");
После занесения информации в таблицу поставленная задача выполнена.