|
||||||||
|
Работа с Word из других приложенийАвтоматизация позволяет получать, редактировать и экспортировать данные ссылаясь на объекты, свойства и методы другого приложения. Объекты приложения, на которые можно ссылаться из других приложений, называются объектами Автоматизации (Automation objects). Чтобы Word был доступен из других приложений через Автоматизацию, нужно прежде всего создать ссылку на библиотеку типов Word. Для этого из меню Затем объявите объектную переменную, которая будет ссылаться на объект Application Word:Dim appWD As Word.Application.8 Далее используйте функции Visual Basic CreateObject или GetObject, передавая им в качестве параметра программный OLE-идентификатор Word ? Word. Application. 8 или Word. Document. 8, как показано в следующем примере. Если Вы хотите, чтобы на экране появилось окно Word, установите свойство Visible как True.Dim appWD As Word.Application.8 Set appWD = CreateObject("Word.Application.8") Функция CreateObject возвращает объект Application Word и присваивает его переменной appWD. Обращаясь через эту переменную к объектам, свойствам и методам объекта Application, Вы сможете контролировать работу Word. В следующем примере создается новый документ Word:appWD.Documents.Add Функция CreateObject начинает новый сеанс Word, который не прекращается даже при удалении объектной переменной, ссылающейся на объект Аррlication. И присвоение ей значения Nothing работу Word тоже не завершит. Поэтому Word следует закрывать методом Quit. В следующем примере для Microsoft Excel мы вставляем данные из ячеек А1:В10 на первом листе в новый документ Word, а затем упорядочиваем данные в таблице. Макрос проверяет, не был ли создан новый экземпляр Word вызовом функции CreateObject, и, если да, закрывает его методом Quit. (Если функция GetObject возвращает ошибку с кодом 429, вызывается функция CreateObject, и тем самым создается новый экземпляр Word.)Dim appWD As Word.Application With appWD .InsertAfter Text := c.Value Count = Count + 1 If Count Mod 2 = 0 Then .InsertAtter Text := vbCr Else .InsertAfter Text := vbTab End If Next с .Range.ConvertToTable Separator := wdSeparateByTabs .Tables(1).AutoFormat Format := wdTableFormatClassic1 End With myDoc.SaveAs FileName := "C:\Temp.doc" End With If theError = 429 Then appWD.Quit Set appWD = Nothing
Текст пособия подготовлен на основе материалов книги Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл. c Оригинальное издание на английском языке, Microsoft Corporation, 1997 c Русский перевод, Microsoft Corporation, 1997 |