Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB_6.doc
Скачиваний:
97
Добавлен:
01.12.2018
Размер:
3.77 Mб
Скачать

11.4.5. Внедрение объекта на этапе run. Для внедрения объектов в vb-приложение используется метод CreateEmbed. Синтаксис оператора, использующего этот метод:

Object.CreateEmbed Sourcedoc, [class]

Sourcedoc – это имя файла, содержащего документ. Является шаблоном для внедряемого объекта и может иметь нулевую длину (“”), если Вы не задали документ-источник. Этот параметр является обязательным.

class – необязательный параметр. Это имя класса внедряемого объекта. Параметр class игнорируется, если Вы задали имя файла для параметра Sourcedoc.

Следующий код должен создать внедренный объект на этапе выполнения приложения:

OLE1.CreateEmbed “H:\Kurs\zadanie.doc”

Однако по приведенной в разделе 12.1.2 причине, если файл zadanie.doc создан в Word 2000 или более поздних версиях Word, то возникнет та же самая ошибка. Тем не менее, создать внедренный объект на этапе выполнения приложения все же возможно. Для этого сначала целесообразно создать пустой объект, чтобы иметь возможность использовать разную информацию из разных приложений. В таком случае имя класса объекта необходимо обязательно указывать, а вместо имени файла-источника использовать шаблон, например:

OLE1.CreateEmbed “”, “Word.Document.8”

Для программной активизации требующегося приложения необходимо применить к объекту метод DoVerb. Его синтаксис:

object.DoVerb [verb]

Глагол verb определяет действие, которое можно будет совершать над объектом (например, редактирование). Если этот параметр отсутствует, то принимается его значение по умолчанию, Разные объекты поддерживают только собственные множества глаголов. Параметр verb может быть представлен встроенной константой VB или числовой константой. Существуют глаголы, поддерживаемые всеми объектами. Их числовые значения лежат в пределах от 0 до -6. Нуль соответствует умалчиваемому для данного объекта действию. Для редактирования объект активизируется, если verb = -1. Так, например, оператор OLE1.DoVerb -1 активизирует для редактирования приложение, создающее документ, относящийся к указанному в методе CreateEmbed классу.

Чтобы рассмотреть последовательность действий при внедрении объекта во время выполнения приложения откроем новый проект. Разместим на форме 2 командные кнопки- Command1 и Command2. Для кнопки Command2 записываем процедуру:

Private Sub Command2_Click()

End

End Sub,

а для кнопки Command1- процедуру:

Private Sub Command1_Click()

OLE1. CreateEmbed “”, “Word.Document.8”

OLE1. DoVerb -1

End Sub

Разместим теперь на форме элемент OLE-контейнер. В открывшемся окне “Вставка объекта” щелкнем на кнопке ”Отмена”, т.к. мы будем

вставлять объект программным способом.

Запустим приложение на выполнение и щелкнем по кнопке Command1. В результате будет создан пустой объект, а в верхней части элемента OLE-контейнер появится меню. Выбираем в нем “Вставка\Файл”. Открывается окно браузера, в котором переходим на нужный диск в папку, содержащую требующийся файл. Помечаем этот файл и нажимаем в окне браузера кнопку “Вставить”. Окно браузера закрывается. В пределах OLE–контейнера отображается поле документа, состоящее из одной его строки (обычно пустой). Если курсор мышки навести на нижнюю границу этой строки, он примет вид двунаправленной стрелки. Растянув вниз границу поля, увидим содержимое нашего документа. Его можно прокручивать с помощью скролла мышки и вносить изменения.

Если в приведенный код процедуры Command1 вставить третью строку кода:

OLE1.Update,

то не потребуется растягивать поле документа: он сразу отобразится в контейнере. Такой же результат получится, если сразу после нажатия кнопки “Вставить” еще раз щелкнуть по командной кнопке Command1. Теперь для его редактирования можно щелкнуть правой клавишей мышки в пределах OLE-контейнера. Появится выпадающее меню из двух пунктов: “Изменить” и “Открыть”. Если выбрать пункт “Изменить”, то появляется возможность редактировать документ с помощью редактора VB в пределах OLE–контейнера. При этом текст можно прокручивать скроллом мышки. Если же выбрать пункт “Открыть”, то запускается приложение-сервер, т.е. Word, и редактирование документа будет осуществляться в среде Word. Следует помнить, что сохранить отредактированный внедренный документ можно лишь в бинарном файле. Соответствующий код был уже приведен.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]