Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОПІ_Лекції_зошит4.docx
Скачиваний:
2
Добавлен:
20.08.2019
Размер:
244.78 Кб
Скачать

Експорт інформації в Microsoft Word

Для експорту інформації в Microsoft Word з використанням сервера автоматизації слід:

  1. Створити екземпляр сервера автоматизації «Word.Application» (запустити Word) або отримати посилання на вже запущений екземпляр.

  2. Створити новий документ.

  3. Вивести інформацію в створений документ.

  4. Знищити структури, пов’язані з екземпляром сервера автоматизації в програмі, а також посилання на елементи його об’єктної ієрархії.

Запуск сервера

Створення та отримання посилання на екземпляр сервера автоматизації виконується за допомогою функцій CreateOleObject або GetActiveOleObject відповідно. Створення нового об’єкта необхідно, якщо сервер автоматизації ще не запущений, а отримання посилання на запущений сервер суттєво прискорює процес експорту інформації, оскільки системі не потрібно запускати ще один додаток. Таким чином, в деяких випадках доцільно спочатку спробувати підключитися до працюючого серверу, а в разі невдачі запустити сервер самостійно:

…………….…………….

Var WordApp: Variant;

…………….…………….

Try

//Спроба отримати посилання на Word, який вже запущений

WordApp:= GetActiveOleObject(‘Word.Application’);

Except

// Word не запущений

Try

//Спроба запустити Word

WordApp:= CreateOleObject(‘Word.Application’);

Except

Application.MessageBox(‘Microsoft Word не встановлений’);

Exit;

End;

End;

//Посилання отримане тим чи іншим чином.

// Можна розпочинати процес виведення інформації

Try

//Вивід інформації

Finally

//знищення програмних структур, створених для взаємодії з сервером

WordApp:=Unassigned;

End;

…………………………………

Взаємодія з сервером на рівні документу

Для взаємодії з сервером слід додати елемент в сімейство Documents об’єкта ‘Word.Application’ за допомогою функції Add, яка поверне посилання на створений документ:

Add(Template: string; NewTemplate: Boolean): Document;

Рядковий параметр Template визначає, на основі якого шаблону повинен бути створений документ, а параметр NewTemplate вказує на те, що створюваний документ сам повинен бути шаблоном. Якщо метод викликається баз параметрів, то новий документ створюється на основі шаблону Normal («звичайний»).

Посилання на створений документ, яке повертає метод Add, слід зберігати в змінній типу Variant для подальшого доступу до документу з метою виведення інформації в нього:

…………………………..

Var WordDoc: Variant;

…………………………..

WordDoc:=WordApp.Documents.Add;

……………………………

Закрити документ після завершення виводу інформації в нього можна за допомогою методу Close:

……………………

WordDoc.Close;

WordDoc:=Unassigned;

…………………………

Безпосереднє виведення інформації. Об’єкт Selection

Виведення інформації в Microsoft Word аналогічний роботі користувача в редакторі і деяким чином емалює його. Так, за допомогою об’єкту Selection, що відображає поточне виділення в документі, підтримуються команди введення тексту та настройки його параметрів. Якщо явне виділення відсутнє, то об’єкт Selection відображає місце розташування текстового курсору. Слід мати на увазі, що об’єкт Selection належить об’єкту «Word.Application», а не об’єкту Document.

Для виведення інформації в об’єкт Selection використовується його метод TypeText:

WordApp.Selection.TypeText(Text: string);

Для введення символу переведення рядку можна використати метод TypeParagraph об’єкта Selection:

WordApp.Selection.TypeParagraph;

При послідовному виведенні інформації зміна автоматично встановленого виділення зазвичай непотрібне. Однак, якщо виникає така необхідність, можна встановити параметри виділення за допомогою методів Move, MoveRight (змістити виділення вправо), MoveLeft (змістити виділення вліво):

Move(Unit: integer; count: integer);

MoveRight(Unit: integer; count: integer; Extend: Boolean=false);

MoveLeft(Unit: integer; count: integer; Extend: Boolean=false);

Методи зсувають виділення на задану параметром count кількість одиниць. Значення параметру може бути додатнім або від’ємним. У випадку методу Move знак параметра count визначає напрямок зміщення виділення. Від’ємне значення параметра вказує на зміщення вліво, а додатне – вправою.

Методи MoveRight та MoveLeft початково налаштовані на зміщення виділення в задану сторону (вправо та вліво відповідно), тому від’ємне значення параметру count просто змінює напрямок виділення.

При використанні цих методів виділення, якщо воно існувало до їх виклику, знімається. Цьому можна запобігти в функціях MoveRight та MoveLeft, якщо в якості значення необов’язкового параметру Extend задати значення true (за замовчуванням встановлюється false).

Параметр Unit визначає одиницю зміщення виділення і може приймати наступні значення: 1 – один символ; 2 – одне слово; 3 – одне речення; 4 – один абзац; 5 – один рядок; 9 – один стовпчик таблиці, якщо виділення знаходиться в таблиці; 10 – один рядок таблиці, якщо виділення знаходиться в таблиці; 12 – одна клітинка таблиці, якщо виділення знаходиться в таблиці.

І, нарешті, щоб просто скасувати виділення, не змінюючи його початкового положення, можна скористатись методом Collapse об’єкту Selection:

Word.Selection.Collapse;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]