- •Государственное образовательное учреждение высшего профессионального образования
- •Часть 1
- •Введение. Технологии обмена данными
- •Тема 1. Динамический обмен данными (dde)
- •1.1 Принципы динамического обмена данными
- •Структура транзакций dde
- •1.2. Транзакции dde
- •1.3. Примеры и задачи: обмен данными между приложениями по протоколу dde
- •Использование функции dde
- •Передача данных из Excel в Access с помощью модуля Access
- •Взаимодействие Access и Word
- •Взаимодействие Access и Excel
- •Построение диаграммы с помощью инструкции ddeExecute
- •Тема 2. Буфер обмена данными
- •2.1 Буфер обмена данными в vb
- •2.2. Методы объекта Clipboar.
- •2.3. Примеры и задачи: программирование буфера обмена данными
- •Тема 3. Ole-технологии
- •3.1. Представление ole-данных
- •3.2. Элемент управления ole-контейнер
- •3.3. Объекты ole как элементы управления
3.3. Объекты ole как элементы управления
Наряду с использованием элемента управления OLE-контейнер, VB позволяет добавлять любые объекты, обладающие OLE возможностям из диалогового окна Components (вкладка Insertable Objects, рис.16), выводить их на панель инструментов и использовать в качестве элементов управления.
Рис.16
После
добавления значок вставляемого объекта,
например, Лист MS Excel
появится на панели инструментов, после
чего он может быть помещен на форму.
Упражнение
Вывести на панель инструментов значок объекта Лист MS Excel и разместить объект на форме.
Записать следующий код для формы:
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
При добавлении ссылки на соответствующую библиотеку отдельные объекты можно переносить прямо из каталога объектов.
