OLE Технология

Отличительной особенностью ОС Windows 32x является использование технологии встраивания объектов. Объект – это фрагмент, сформированный в одном приложении и вставленный в другое. Например, электронная таблица MS Excel помещенная в документ MS Word. При этом сохраняется связь с родительской программой и внедренный фрагмент можно обрабатывать не покидая программу приемник. Данная технология это OLE механизм вставки объектов.

При разработке программ в среде Visual Basic для работы с OLE технологией используется одноименный визуальный компонент .

Методы компонента:

Метод Назначение
CreateEmbed "", "Word.Document" Создание объекта MS Word.
CreateEmbed "", "excel.sheet" Создание объекта MS Excel.
CreateEmbed "", "Paint.Picture" Создание объекта — растра.
InsertObjDlg   Активизация диалога для выбора объекта.
CreateLink Создание объекта из файла со связью.

Примеры:

Private Sub Command1_Click()

OLE1.CreateEmbed "", "Word.Document"

End Sub

Private Sub Command2_Click()

OLE1.CreateEmbed "", "excel.sheet"

End Sub

Private Sub Command3_Click()

OLE1.CreateEmbed "", "Paint.Picture"

End Sub

Private Sub Command4_Click()

OLE1.InsertObjDlg

End Sub

Private Sub Command5_Click()

OLE1.CreateLink "c: emp est.bmp"

End Sub

Private Sub Form_Click()

OLE1.SizeMode = vbOLESizeAutoSize

OLE1.InsertObjDlg

End Sub

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

SaveToFile n – запись в файл.

ReadFromFile n – чтения из файла.

n – номер файла

Пример. Сохранение OLЕ объекта и его восстановление.

Private Sub Command1_Click()

Open "c: emp est.ole" For Binary As #1

OLE1.SaveToFile 1

Close 1

End Sub

Private Sub Command2_Click()

Open "c: emp est.ole" For Binary As #1

OLE1.ReadFromFile 1

OLE1.SizeMode = vbOLESizeAutoSize

Close 1

End Sub

Для управления выводом объекта в поле OLE контейнера служит свойство SizeMode, которому нужно присвоить код ­­– константу.

Константы для управления выводом информации в OLE контейнере:

Константа Назначение
vbOLESizeClip (0) Усечение объекта по границам окна контейнера.
vbOLESizeStretch (1) Увеличение объекта до границ контейнера.
vbOLESizeAutoSize (2) Изменение размера контейнера под встраиваемый объект.
vbOLESizeZoom (3) Пропорциональное увеличение объекта по границам контейнера.