Технології Office Extensions: інсталяція програм і компонентів, MS Office, Програмні керівництва, статті

В основі всіх програм Office – концептуально схожі між собою об’єктні моделі, в будь-який з них є можливість користуватися засобами мови Visual Basic for Applications (VBA), і, отже, більшість з розглянутих принципів застосовні до макропрограми для будь-якого компонента Office (після внесення невеликих змін, звичайно). Рекомендації засновані на аналізі реальних прикладних програм на базі Microsoft Office з бібліотеки Microsoft Office Extensions (www.microsoft.ru / offext) *. Показані приклади окремих типових рішень, пов’язаних з процесом установки, адаптовані для версії Microsoft Office 2000.

Дистрибутивний документ

Найбільш часто зустрічається прийом розповсюдження розробки на базі Microsoft Office – створення документа з макрокомандами або “надбудови” (add-in, документ спеціального виду, в якому знаходяться макрокоманди і який можна “підключати” до програм Office). Вибір потрібного варіанта визначається тим, чи буде потрібно користувачеві при роботі документ, пов’язаний з макрокомандами, або йому достатньо надати тільки програмні компоненти проекту.

Перший варіант – документ Word, робоча книга Excel, презентація PowerPoint – типовий для “вертикальних” рішень, тобто коли створена розробка для певного кола користувачів (програми 350, 392, 422, 427). Для автоматизації таких документів широко застосовуються керуючі елементи (кнопки, панелі інструментів), при зміні стану яких активуються відповідні процедури на мові VBA. Додатковими засобами автоматизації можуть бути “автозапускаемие” процедури (автоматично виконуються дії AutoExec, AutoOpen і т. д.). Наприклад, для управління відкриваються документами Word 2000 може служити наступний підхід (в даному випадку показаний приклад більш функціонального прийому, який дозволяє перехоплювати не тільки існуючі творцями Word події):

Компонент класу CAppЕvents
Public WithEvents App As Word.Application
Private Sub Class_Initialize()
Прив’язка до поточного об’єкту Application для сигнального
оповіщення про події
Set App = Application
End Sub
Private Sub App_DocumentOpen()
… Датчик, що спрацьовує при відкритті нових документів
і запускає відповідну обробку
End Sub
… Датчики інших подій об’єкта Application
Модуль AutoExec, розташований в normal.dot
або в автозавантажуються шаблоні
Global AppEvent As CAppEvents
Public Sub Main()
Ініціалізація класу CAppEvents.
Set AppEvent = New CAppEvents
End Sub

Надбудова

Другий варіант – надбудова (add-in) – відноситься до “горизонтальним” рішенням. У цьому випадку користувач одержує, як правило, надбудову, яка містить програмний проект і набір інтерфейсних інструментів для вирішення певного класу задач (програми 380, 387), але не бачить надбудову як документ. При цьому варіанті установки розробнику доводиться вибирати, як його інсталювати в систему. Звичайно, користувач має можливість завантажити надбудову через команду меню Сервіс / Шаблони та надбудови, однак для більшості випадків це не найкраще рішення. Є декілька варіантів.

Розміщення в каталозі автоматичного завантаження надбудов (програми 363, 378). У цьому випадку автоматично завантажуються всі надбудови, розташовані за вказаною адресою, в процесі завантаження будь-якої з програм Office. Дізнатися про розташування необхідної папки можна, прочитавши властивості Word.Application.Startup і Excel.Application.StartupPath. Зверніть увагу, що в Office 2000 реалізована технологія обліку роздільних параметрів настройки для кожного профілю користувача. Тому реальний шлях має вигляд C: WINDOWSProfilesUserNameApplication DataMicrosoftWordStartup. З метою сумісності з програмами на VBA для попередніх версій Office залишається чинним також загальний для всіх зареєстрованих користувачів шлях, наприклад C: Program FilesMicrosoft OfficeOfficeStartup. У Microsoft Excel додатково реалізована можливість обліку додаткового стартового каталогу. Його ім’я (без лапок) можна задати в ключі реєстру Windows HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions як рядковий параметр під іменем AltStartup.

Програмна завантаження (програма 359). Для того щоб прискорити процедуру завантаження Office-додатки і уникнути побічних ефектів при взаємодії з іншими встановленими програмними засобами, можна передбачити завантаження надбудови як реакцію на певну дію або подію в системі. Наприклад, можна призначати “гарячі” клавіші або здійснювати завантаження основних надбудов-компонентів при отриманні відповідної команди з стартовою надбудови (програма 364). З точки зору розробника, завантаження шаблону або надбудови виконується як звернення до колекції об’єктів Addins. У Microsoft Word або Excel для їх завантаження потрібно виконати наступну команду:

With AddIns.Add(“C:TempExlTools.xla”)
.Installed = True
End With

У PowerPoint для реалізації аналогічної операції буде потрібно наступне рішення:

With Addins(“C:TempPPtools.ppa”)
.Loaded = True
.Registered = True
End With

Командна завантаження. Автоматичне завантаження Excel-документа (. Xls) або надбудови (. Xla) можна реалізувати шляхом введення команди OPEN в системному реєстрі Windows. Для цього буде потрібно в розділі HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions створити строковий параметр з ім’ям “OPEN”. Спочатку вводиться опція / R (тільки для читання) або / F (завантаження на вимогу) (завдання опцій є необов’язковим), слідом за якою записується (через пробіл) ім’я файлу. Воно дається із зазначенням повного шляху доступу (в лапках), якщо цей файл не знаходиться в папці надбудов. Наприклад: OPEN = “/ R” C: TempExlTools.xla “”. Якщо передбачається завантажити декілька файлів, то аналогічним чином створюються додаткові рядкові параметри, що мають ім’я “OPEN1”, “OPEN2” і т. д.

Завантаження для надбудови Word може бути реалізована шляхом завдання відповідних параметрів в командному рядку запуску. Наприклад, за допомогою команди WinWord “Add-in.dot” / mMyInstall виконується завантаження надбудови Add-in.dot з подальшим виконанням VBA-процедури MyInstall (макроc AutoExec пропускається).

Налаштування інтерфейсу

Одна з найбільш важливих функцій установки – це настройка інтерфейсу. Одна з розв’язуваних при цьому завдань – оновлення переліку команд меню і кнопок на панелях інструментів. У Word це вирішується порівняно просто, так як всі відповідні параметри зберігаються в загальному шаблоні normal.dot і можна програмним шляхом ввести зміни, а потім зберегти змінений normal.dot.

В Excel це реалізовано інакше: параметри зміненої настройки меню і панелей інструментів зберігаються в спеціальному файлі, розташованому в каталозі Windows або в C: WINDOWSProfilesUserNameApplication DataMicrosoftExcel.

Якщо комп’ютер користувача не підключений до мережі або настройка не вимагає завдання імені користувача при вході в систему, то файл змінених параметрів має ім’я excel8.xlb. Якщо ж поточний сеанс завантаження Windows зроблений під ім’ям UserName, то файл буде називатися UserName8.xlb. Тому для перенесення параметрів інтерфейсу буде потрібно спочатку завантажити в Excel заздалегідь підготовлений xlb-шаблон, і після вивантаження Excel відповідний файл буде створений автоматично.

Створення надбудов виду COM Add-ins
Ця можливість для продуктів Office була реалізована у версії Office 2000. На відміну від звичайних надбудов, розрахованих на конкретне Office-додаток, COM Add-ins можуть завантажуватися і виконуватися різними програмами. Ці файли надбудов мають розширення dll або exe і надають більш широкі функціональні можливості, причому без додаткового ускладнення з точки зору їх застосування. Вони можуть розроблятися як засобами Microsoft Office 2000 Developer, так і в Microsoft Visual Basic 6.0, Microsoft Visual C + + або Microsoft Visual J + +.

Облік системи безпеки
Стандартні папки для зберігання шаблонів і надбудов за замовчуванням ставляться до розряду перевірених джерел. Тому навіть при установці системи безпеки до рівня “Високий” будь-які розташовані там файли зможуть виконуватися без підтвердження їх цифрового підпису. Для підключення перевірки служить керуючий елемент Довіряти всім установленим надбудовам і шаблонам на вкладці Надійні джерела меню Сервіс / Макрос / Безпека.

Процедура установки
Програмна реалізація процедури установки може бути здійснена за допомогою додаткових Office-документів (setup.doc, setup.xls), що мають у своєму складі макроси для виконання необхідних операцій та реєстрації (програми 346, 356). Інший шлях полягає у створенні спеціального установчого комплекту файлів, наприклад, за допомогою Майстра Package and Deployment Wizard, що входить до складу Visual Basic 6.0 або Office 2000 Developer (програми 377, 379, 424).

* Спільний проект PC Magazine / RE і російського представництва компанії Microsoft. Для перегляду конкретної розробки з тих, що показані в якості прикладів, слід використовувати запит www.microsoft.ru/offext/aview.asp?mode=1&id=NN; де NN – обліковий номер програми.


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*