Основы офисного программирования и язык VBA


Совместная работа приложений. Создание объектов Application. Раннее и позднее связывание - часть 2


Это станет известно динамически, в ходе выполнения программы, когда реально будет создан объект - экземпляр соответствующего класса и наш указатель получит на него ссылку. Для программиста эти переменные являются нетипизированными указателями.
  • Dim MyXlApp As Excel.Application, MyAcApp As Access.Application Это объявление задает раннее связывание. Наши переменные теперь представляют собой типизированные указатели. И уже на этапе объявления известно, что в дальнейшем они будут связаны с объектами соответствующего класса. Чтобы при этом объявлении не возникло конфликтов, конечно же, необходимо предварительно подключить соответствующую библиотеку. Важно также понимать, что на этапе объявления память выделена только указателям. Сами объекты еще не созданы, и потому значения указателей не определены. Объекты еще предстоит создать по ходу выполнения программы и указатели должны быть связаны с ними.
  • Dim MyXlApp As New Excel.Application, MyAcApp As New Access.Application В этом случае раннее связывание реализуется в полном объеме. Создается указатель, благодаря спецификатору New создается сам объект, и указатель получает ссылку на вновь созданный объект.
  • Эти три варианта характерны не только при работе с объектами Application, а во всех случаях работы с объектами. Конечно же, в большинстве случаев предпочтительнее третья конструкция, когда создание объекта и указателя совмещаются в одном операторе. В Office 2000 такая конструкция является допустимой для объектов Application и ее разумно использовать.

    Заметьте, что не все приложения допускают конструкцию New для создания Active X объектов, каковыми являются объекты Application. В ряде случаев для создания Active X объектов, хранящихся в отдельных файлах, следует использовать метод CreateObject, первый параметр которого задает имя класса объекта. Этот метод следует выполнить в нужный момент, связав заодно указатель с вновь созданным объектом. Конечно, и в Office 2000 допустимо создать объекты Application следующим образом:

    Set MyXlApp = CreateObject("Excel.Application ") Set MyAcApp = CreateObject("Access.Application ")




    Начало  Назад  Вперед



    Книжный магазин