Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование ИС.Часть1(DDE+буфер обмена+OLE)....doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
742.91 Кб
Скачать

3.3. Объекты ole как элементы управления

Наряду с использованием элемента управления OLE-контейнер, VB позволяет добавлять любые объекты, обладающие OLE возможностям из диалогового окна Components (вкладка Insertable Objects, рис.16), выводить их на панель инструментов и использовать в качестве элементов управления.

Рис.16

После добавления значок вставляемого объекта, например, Лист MS Excel появится на панели инструментов, после чего он может быть помещен на форму.

Упражнение

  1. Вывести на панель инструментов значок объекта Лист MS Excel и разместить объект на форме.

  2. Записать следующий код для формы:

Private Sub Form_Load()

Sheet1.object.sheets(1).cells(1).Value = "Звонить"

Sheet1.object.sheets(1).cells(2).Value = "911"

End Sub

Результат выполнения представлен на рис.17

Рис.17

Заметим, что все добавляемые таким образом объекты не имеют особых свойств и методов и интересны в связи с технологией OLE-Automation.

3.4. OLE-Automation

Если серверное приложение поддерживает технологию OLE-Automation, то в клиентском приложении с ним можно работать как с элементом управления. Для OLE-Automation также необходим OLE-объект. Его можно создать, присвоив ссылку объектной переменной. Для этого с помощью команды References меню Project библиотеку объектов серверного приложения следует включить в приложение VB, после чего объекты серверного приложения станут доступны в коде VB вместе со своими свойствами и методами.

Упражнение

  • Подключить библиотеку Microsoft Word Object Library, Microsoft Office Object Library.

  • Создать на форме кнопку с кодом:

Private Sub Команда1_Click()

Dim ww As New Word.Application

ww.Visible = True

ww.Documents.Add

Selection.Font.ColorIndex = wdRed

With ww.Selection.Font

.Name = "Times New Roman"

.Size = 10

.ColorIndex = wdRed

.Scaling = 100

.Animation = wdAnimationLasVegasLights

End With

ww.Selection.Font.Bold = wdToggle

ww.Selection.TypeText "Подключение приложения Word"

ww.Quit

End Sub

  • В результате будет создан новый документ Word, введен и отформатирован текст, после чего приложение будет закрыто с сохранением документа (рис.18)

Рис.18

Приведенный пример демонстрирует, что после того, как объект создан, с ним можно работать с помощью языка макросов серверного приложения.

OLE-оъект можно подключить не только из библиотеки, но также из файла (например. *.DOC, *.XLS). Для этого предназначена функция GetObject, которая возвращает ссылку на объект из файла. Синтаксис:

Set <переменная>=GetObject(<полное имя файла>,<класс>)

Рассмотрим пример создания связанного объекта.

Упражнение

  • Создать документ MS Word 777.doc и сохранить его в корне диска C:

  • Разместить на форме элемент OLE1

  • Добавить следующий код

Private Sub Form_Load()

Dim Vary As Object

Set Vary=GetObject(“С:\777.doc”,”Word.Document”)

OLE1.Createlink “C:\”&Vary

End Sub

В результате в поле элемента OLE1 будет загружен текст из файла 777.doc (рис.19)

Рис.19

В заключении отметим, что список доступных элементов, методов и свойств связанного объекта можно получить из каталога объектов (рис.20).

Рис.20

При добавлении ссылки на соответствующую библиотеку отдельные объекты можно переносить прямо из каталога объектов.