Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Применение ActiveX для автоматизации работы с Microsoft Word






Итак, мы создали ActiveX DLL-библиотеку, которую можно использовать в Word 97. А теперь давайте посмотрим, как управлять работой Word с помощью Visual

1 Команда File > Save Normal в исходной версии. — Примеч. перев. - Кнопка Run в исходной версии. — Примеч. перев.

 

Рис. 17.15. Диалоговое окно Макросы

Basic. Этот процесс называется автоматизацией. Если на вашем компьютере установлен Microsoft Office, вы можете воспользоваться Visual Basic и ActiveX и автоматизировать выполнение задач практически в любом приложении Office. Такие процедуры могут складывать столбцы в электронных таблицах Excel или подсчитывать статистические данные в документах Microsoft Word — перед вами открываются безграничные возможности.

Автоматизация приложений Office хороша тем, что написанные вами утилиты или целые приложения помогут заполнить те пробелы, которые остались в некоторых приложениях Microsoft. Я впервые занялся автоматизацией Word при написании компонента для подсчета строк, вызываемого из Word. Мой компонент содержал несколько настраиваемых процедур, которые вызывались из VBA — сценарного языка Word. Следующий пример дает представление о том, как Visual Basic управляет Microsoft Word 97. Даже если у вас нет Word 97, просмотрите дальнейшее описание и разберитесь с происходящим. Это полезно, а самое главное — интересно!

1. Создайте новый проект клавишами Ctrl+N.

2. Выберите значок Standard EXE в диалоговом окне New Project. Нажмите кнопку ОК, чтобы создать проект.

3. Задайте свойству Name проекта значение ActiveXAutomation.

4. Щелкните на форме Form1, чтобы активизировать ее. Задайте ее свойству Name значение frmMain, а свойству Caption — значение ActiveX Automation.

5. Создайте кнопку на форме frmMain.

6. Перед тем как заниматься автоматизацией Microsoft Word, необходимо создать ссылку на его библиотеку типов. Выполните в Visual Basic команду Project > References.

7. В диалоговом окне References установите флажок рядом со строкой Microsoft Word 8.0 Object Library (рис. 17.16) и нажмите кнопку ОК.

Рис. 17.16. Создание ссылки на библиотеку типов Word

8. Дважды щелкните на кнопке cmdCreate — открывается окно программы.

9. Вставьте следующий фрагмент в процедуру события Click кнопки cmdCreate:

Private Sub cmd_Create_Click() Dim x As Word.Document Dim i As Integer

Выполнить 10 раз For i = 1 To 10

Создать новый документ Word Set x = New Word.Document

' Ввести некоторый текст With x.ActiveWindow.Selection

.TypeText " Этот документ был создан " & _ " с помощью Visual Basic 6.0 "

.TypeText " и средств автоматизации Office."

.TypeParagraph

.TypeParagraph

.TypeText " Документ " & Trim$(Str$(i)) &

" из 10.".TypeParagraph.TypeParagraph

.TypeText " Счастливо оставаться! " End With

' Сохранить и закрыть документ With x

.SaveAs " c: \Visual Basic создал меня " & _ Trim$(Str$(i)) & " раз! "

.Close End With

Уничтожить объект, чтобы освободить память Set x = Nothing Next End Sub

10. Сохраните и запустите проект.

Перед тем как нажимать кнопку Create, проследите за тем, чтобы Microsoft Word был запущен. Закройте все документы и уменьшите окно Word. Разместите оба приложения вблизи друг от друга и проследите за тем, что происходит (рис. 17.17).

Если все было сделано правильно, в корневом каталоге диска С: появится 10 новых документов!

Ключ к этому приложению — объект х. Обратите внимание на первую строку процедуры события Click, в которой определяется объект Word. Document. Этот объект используется для создания, заполнения и сохранения документов Word средствами автоматизации OLE. Созданный экземпляр Word. Document использует метод.TypeText для ввода текста в документ. Когда весь текст будет введен, документ сохраняется методом.SaveAs и закрывается методом.Close. После этого текущий объект Word. Document уничтожается, чтобы мы могли создать следующий объект. Все эти действия происходят в цикле For...Next, который выполняется 10 раз, поэтому на диске появляется 10 новых документов.

С технологией ActiveX ваши возможности практически безграничны. Если на вашем компьютере установлен Office 97 (или только Word 97), попрактикуйтесь в написании собственных средств автоматизации. При достаточно творческом подходе вы создадите хорошее вспомогательное приложение, которое даже можно будет продать!

Объекты классов в проекте Visual Basic легко преобразуются в автономные библиотеки DLL или в нестандартные элементы. Конкретный выбор зависит от организации проекта. Если вы не читали урок 15, в котором излагаются основы объектно-ориентированного программирования (ООП), это стоит сделать сейчас. Приведенная в нем информация поможет лучше понять особенности классов и процесса их создания, что, в свою очередь, облегчит создание элементов.

Рис. 17.17. Создание ссылки на библиотеку типов Word

С помощью технологии ActiveX вы сможете пользоваться обширными возможностями Интернета, а также писать на Visual Basic мощные клиент — серверные приложения и программы, работающие в Web. ActiveX позволяет создавать нестандартные элементы, которые можно помещать на панель элементов Visual Basic и внедрять в HTML-документы. Хорошее понимание ООП, структуры приложений «клиент — сервер» и World Wide Web поможет вам создавать собственные элементы ActiveX и, таким образом, строить приложения на базе Интернета. Что нового мы узнали?

В этом уроке мы научились:

0 Создавать документы ActiveX. 0 Создавать элементы ActiveX. 0 Создавать ActiveX DLL.

0 Создавать объекты автоматизации и использовать их в приложениях Microsoft Office.

0 Управлять работой приложений Office из приложений, написанных на Visual Basic.

18 УРОК






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.