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

Керування додатком Microsoft Word

Додаток Microsoft Word, який є сервером автоматизації, може бути присутнім на екрані в момент звернення до нього клієнта, а може бути прихованим. Видимість додатку визначається логічною властивістю Visible.

Керування видимістю додатку може бути необхідним, щоб користувач не зміг завадити процесу експорту інформації. Додатки Office побудовані таким чином, що їм байдуже, хто вводить інформацію – сторонній додаток через сервер автоматизації або користувач за допомогою інтерфейсу. Таким чином, якщо Delphi-додаток здійснює тривалий експорт інформації, використовуючи метод TypeText об’єкту Selection, користувач має можливість перемкнутися в вікно Word і, наприклад, змінити положення текстового курсору. В результаті таких дій зміниться стан об’єкту Selection і інформація буде виведена не по порядку, а того місця, яке зазначив користувач.

Для того, щоб заборонити користувачу змінювати виділення під час процесу експорту інформації, можна тимчасово приховати вікно додатку з екрану:

WordApp.Visible:=false;

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

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

Сухарев, с.599

Лекція 22. Експорт інформації в ms Excel

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

  1. Створити екземпляр сервера автоматизації «Excel.Application» (запустити Excel).

  2. Створити новий документ (робочу книгу).

  3. Здійснити виведення інформації.

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

Excel володіє не менш розвинутою об’єктною ієрархією, ніж Word, однак використання його в якості сервера автоматизації трохи простіше в зв’язку з логічною системою позиціонування всередині документу, яка представляє собою таблицю з індексним доступом до стовпців, рядків та окремих комірок.

Керування сервером автоматизації Excel

Керування додатком Excel аналогічне керуванню додатком Word. Створення сервера автоматизації Excel здійснюється шляхом виклику функції CreateOleObject з параметром назви класу «Excel.Application»:

…………………

Var ExcelApp: Variant;

…………………

Try

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

ExcelApp:= CreateOleObject(‘Excel.Application’);

ExcelApp.Visible:=false;

………………….

Filally

If not VarIsEmpty(ExcelApp) then ExcelApp.Visible:=true;

ExcelApp:=UnAssigned;

End;

…………………..

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