Page 78 - 6735
P. 78

OLE  Automation  –  це  основана  на  COM  технологія
           міжпроцесової  взаємодії,  яка  дозволяє  одній  програмі  управляти
           об’єктами,  що  реалізовані  в  іншій  програмі  [5,  20,  29].  Сервер
           автоматизації  –  це  програма  (COM  сервер),  функціональність  якої
           доступна  через  COM  інтерфейси  (такі  як  IDispatch)  іншим
           програмам, які називаються клієнтами автоматизації. Для прикладу
           VBA-програма  (клієнт  автоматизації)  може  використовувати
           елементи  керування  ActiveX  (сервери  автоматизації).  Або  можна
           використовувати  об’єкти  Excel  із  VBA-сценарію  Word.  Для  цього
           виберіть в меню Tools/References/Microsoft Excel 11.0 Object Library.
           У      програмі      оголосіть      Automation-об’єкт      класу
           Excel.Application  і  створіть  його  функцією    CreateObject,
           якій    потрібно      передати     програмний      ідентифікатор
           "Excel.Application".  Наступний  приклад  створює  об’єкт
           програми Excel, записує значення в комірку першого листа активної
           книги, зберігає файл і виходить з Excel.

           Public Sub main()
           Dim xlApp As Excel.Application
           Dim xlBook As Excel.Workbook
           Dim xlSheet As Excel.Worksheet
           Set xlApp = CreateObject("Excel.Application") ' Excel
           xlApp.Workbooks.Add ' нова робоча книга
           Set xlBook = xlApp.ActiveWorkbook ' активна книга
           'Set xlBook = xlApp.Workbooks.Open("e:\mytestbook.xls") '
           або відкрити
           Set xlSheet = xlBook.Worksheets(1) ' перший лист
           xlSheet.Cells(1, 1).Value = 1 ' записати в комірку
           'xlApp.Visible = True ' зробити видимим
           xlBook.SaveAs ("e:\mytestbook.xls") 'зберегти як
           'xlBook.Save ' або зберегти
           xlApp.Quit ' вийти з Excel
           End Sub

                       Microsoft Shell Controls And Automation

                                          78
   73   74   75   76   77   78   79   80   81   82   83