
- •Часть 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.3.2 Изменение параметров документа.
Раскрасим текст как показано на рисунке.
Рис 2.3 Изменение параметров текста.
1. Изменяем фон:
vVarDoc.OlePropertyGet("Background").
OlePropertyGet("Fill").
OlePropertyGet("ForeColor").
OlePropertySet("RGB",RGB(255, 255, 153));
vVarDoc.OlePropertyGet("Background").
OlePropertyGet("Fill").
OlePropertySet("Visible",-1);
vVarDoc.OlePropertyGet("Background").
OlePropertyGet("Fill").
OleFunction("Solid");
Константы отображения OlePropertySet("Visible", msoTrue);:
msoTrue = -1,
msoFalse = 0,
msoCTrue = 1,
msoTriStateToggle = -3,
msoTriStateMixed = -2
2. Убираем линейку:
vVarApp.OlePropertyGet("ActiveWindow").
OlePropertyGet("ActivePane").
OlePropertySet("DisplayRulers",false);
3. Изменяем размер окна:
vVarApp.OlePropertySet("WindowState",1);
wdWindowStateNormal = 0;
wdWindowStateMaximize = 1;
wdWindowStateMinimize = 2.
4. Убираем лишние панели инструментов:
vVarApp.OlePropertyGet("CommandBars","Standard").
OlePropertySet("Visible",false);
Список панелей:
Standard
Formatting
Visual Basic
Web
Web Tools
WordArt
AutoText
Database
Clipboard
Picture
Frames
Reviewing
Drawing
Forms
Control Toolbox
Печать книгой
Stop Recording
Forms
Frames
Picture
Clipboard
Tables and Borders
Control Toolbox
Печать книгой
4. Установка разметки страниц:
vVarApp.OlePropertyGet("ActiveWindow").
OlePropertyGet("ActivePane").
OlePropertyGet("View").
OlePropertySet("Type",1);
Константы разметок и вида документа:
wdNormalView = 1;
wdOutlineView = 2;
wdPrintView = 3;
wdPrintPreview = 4;
wdMasterView = 5;
wdWebView = 6.
5. Изменяем масштаб отображения документа:
vVarApp.OlePropertyGet("ActiveWindow").
OlePropertyGet("ActivePane").
OlePropertyGet("View").
OlePropertyGet("Zoom").
OlePropertySet("Percentage",100);
6.Проверка грамматики. Лучше для скорости ее отключить.
vVarApp.OlePropertyGet("Options").
OlePropertySet("CheckGrammarAsYouType",false);
vVarApp.OlePropertyGet("Options").
OlePropertySet("CheckGrammarWithSpelling",false);
7. Устанавливаем параметры шрифта:
Шрифт устанавливаем для строки параграфа. Так как изменение шрифта одинаково для любого параграфа, то описание проводим только для заглавия таблицы. Все используемые констнты приведены в конце пункта 8.
vVarParagraph=vVarParagraphs.OleFunction("Item",6);
Выделяем строку и получаем характеристики шрифта.
v=vVarParagraph.OlePropertyGet("Range").
OlePropertyGet("Font");
Цвет шрифта.
v.OlePropertySet("Color",255);
Размер шрифта.
v.OlePropertySet("Size",14);
Имя шрифта.
v.OlePropertySet("Name","Times New Roman");
Стиль шрифта.
v.OlePropertySet("Bold",true);
v.OlePropertySet("Italic",true);
Подчеркивание.
v.OlePropertySet("Underline",1);
Цвет подчеркивания.
v.OlePropertySet("UnderlineColor",16711680);
Зачеркивание.
v.OlePropertySet("StrikeThrough",false);
v.OlePropertySet("DoubleStrikeThrough",false);
Двойные линии обводки шрифта.
v.OlePropertySet("Outline",false);
Приподнятый.
v.OlePropertySet("Emboss",false);
Шрифт с тенями.
v.OlePropertySet("Shadow",true);
Скрытый
v.OlePropertySet("Hidden",false);
Все буквы в нижнем регистре.
v.OlePropertySet("SmallCaps",false);
Все буквы в верхнем регистре.
v.OlePropertySet("AllCaps",false);
Гравированный шрифт (утопленный).
v.OlePropertySet("Engrave",false);
В верхнем индексе.
v.OlePropertySet("Superscript",false);
В нижнем индексе.
v.OlePropertySet("Subscript",false);
Расстояние между буквами - разрядка в пикселях при + и уплотнение при -.
v.OlePropertySet("Spacing",0);
Масштаб.
v.OlePropertySet("Scaling",100);
Смещенный вверх или вниз в пикселях.
v.OlePropertySet("Position",0);
Кернинг - слияние в пунктах.
v.OlePropertySet("Kerning",1);
Анимация Обычный набор: красные муравии, мерцание, мигающий фон, неоновая реклама, фейерверк, черные муравьи.
v.OlePropertySet("Animation",0);
8. Изменяем шрифт в произвольном месте строки:
Запоминаем где курсор - свойство Selection
v=vVarApp.OlePropertyGet("Selection");
Сдвинем курсор на 5 параграфов вниз. Четверка - сдвиг на параграфы.
v.OleProcedure("MoveDown",4,5);
Встаем на начало строки. Пятерка - строки.
v.OleProcedure("HomeKey",5);
Сдвигаемся на 6 символов вправо. Единица - символы.
v.OleProcedure("MoveRight",1,6);
Выделяем 6 букв. Тотже сдвиг, но последняя единица означает выделить.
v.OleProcedure("MoveRight",1,6,1);
Заменим цвет выделенного текста.
v.OlePropertyGet("Font").OlePropertySet("Color",8388608);
Константы стилей линий подчеркивания.
wdUnderlineNone = 0;
wdUnderlineSingle = 1;
wdUnderlineWords = 2;
wdUnderlineDouble = 3;
wdUnderlineDotted = 4;
wdUnderlineThick = 6;
wdUnderlineDash = 7;
wdUnderlineDotDash = 9;
wdUnderlineDotDotDash = 10;
wdUnderlineWavy = 11;
wdUnderlineWavyHeavy = 27;
wdUnderlineDottedHeavy = 20;
wdUnderlineDashHeavy = 23;
wdUnderlineDotDashHeavy = 25;
wdUnderlineDotDotDashHeavy = 26;
wdUnderlineDashLong = 39;
wdUnderlineDashLongHeavy = 55;
wdUnderlineWavyDouble = 43.
Константы цвета - практически это десятичная запись RGB и поэтому можно пользоваться любым способом записи, в том числе и принятым в Buildere.
wdColorAutomatic = 4278190080;
wdColorBlack = 0;
wdColorBlue = 16711680;
wdColorTurquoise = 16776960;
wdColorBrightGreen = 65280;
wdColorPink = 16711935;
wdColorRed = 255;
wdColorYellow = 65535;
wdColorWhite = 16777215;
wdColorDarkBlue = 8388608;
wdColorTeal = 8421376;
wdColorGreen = 32768;
wdColorViolet = 8388736;
wdColorDarkRed = 128;
wdColorDarkYellow = 32896;
wdColorBrown = 13209;
wdColorOliveGreen = 13107;
wdColorDarkGreen = 13056;
wdColorDarkTeal = 6697728;
wdColorIndigo = 10040115;
wdColorOrange = 26367;
wdColorBlueGray = 10053222;
wdColorLightOrange = 39423;
wdColorLime = 52377;
wdColorSeaGreen = 6723891;
wdColorAqua = 13421619;
wdColorLightBlue = 16737843;
wdColorGold = 52479;
wdColorSkyBlue = 16763904;
wdColorPlum = 6697881;
wdColorRose = 13408767;
wdColorTan = 10079487;
wdColorLightYellow = 10092543;
wdColorLightGreen = 13434828;
wdColorLightTurquoise = 16777164;
wdColorPaleBlue = 16764057;
wdColorLavender = 16751052;
wdColorGray05 = 15987699;
wdColorGray10 = 15132390;
wdColorGray125 = 14737632;
wdColorGray15 = 14277081;
wdColorGray20 = 13421772;
wdColorGray25 = 12632256;
wdColorGray30 = 11776947;
wdColorGray35 = 10921638;
wdColorGray375 = 10526880;
wdColorGray40 = 10066329;
wdColorGray45 = 9211020;
wdColorGray50 = 8421504;
wdColorGray55 = 7566195;
wdColorGray60 = 6710886;
wdColorGray625 = 6316128;
wdColorGray65 = 5855577;
wdColorGray70 = 5000268;
wdColorGray75 = 4210752;
wdColorGray80 = 3355443;
wdColorGray85 = 2500134;
wdColorGray875 = 2105376;
wdColorGray90 = 1644825;
wdColorGray95 = 789516.
Константы выравнивания.
wdAnimationNone = 0;
wdAnimationLasVegasLights = 1;
wdAnimationBlinkingBackground = 2;
wdAnimationSparkleText = 3;
wdAnimationMarchingBlackAnts = 4;
wdAnimationMarchingRedAnts = 5;
wdAnimationShimmer = 6.
Константы выделения.
wdMove = 0;
wdExtend = 1.
9. На данном этапе можно сохранить документ:
AnsiString vAsCurDir=GetCurrentDir();
AnsiString vAsCurDir1=vAsCurDir+"\\test.doc";
vVarDoc=vVarDocs.OleFunction("Item",2);
vVarDoc.OleProcedure("SaveAs",vAsCurDir1.c_str());
//Закрыть открытое приложение
//vVarApp.OleProcedure("Quit");