Вход


Главная страница >> Учебный процесс >> Конспекты >> MS Office. Руководство программиста по Visual Basic для MS Office 97 >> Объекты Microsoft Word >> Применение Автоматизации. >> Работа с Word из других приложений

Переход на главную страницу

Сервер поддерживается
кафедрой информатики и вычислительной техники ГрГУ
тел. +375-(0)152-445-101
E-mail :
kadan@grsu.grodno.by


[Назад]    [Содержание ]    [Вперед]

  


Работа с Word из других приложений


Автоматизация позволяет получать, редактировать и экспортировать данные ссылаясь на объекты, свойства и методы другого приложения. Объекты приложения, на которые можно ссылаться из других приложений, называются объектами Автоматизации (Automation objects). Чтобы Word был доступен из других приложений через Автоматизацию, нужно прежде всего создать ссылку на библиотеку типов Word. Для этого из меню Tools (Сервис) редактора Visual Basic выберите команду References (Ссылки), после чего установите флажок в строке Microsoft Word 8.0 Object Library.

Затем объявите объектную переменную, которая будет ссылаться на объект 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")
appWD.Visible = True

Функция 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
Err.Number =0
On Error GoTo notloaded
Set appWD = Get0bject(, "Word.Application.8")
notloaded:
If Err.Number = 429 Then
     Set appWD = CreateObject("Word.Application.8")
     theError = Err.Number
End If
appWD.Visible = True

With appWD
     Set myDoc = .Documents.Add
     With .Selection
          For Each
с In Worksheets("Sheet1").Range("A1:B10")
               .InsertAfter Text := c.Value
               Count
= Count + 1
               If Count Mod 2 = 0 Then
                    .InsertAtter Text := vbCr
               Else
                    .Insert
After 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

  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017