Примечание: Функция, метод, объект или свойство, описанные в данном разделе, отключаются, если служба обработки выражений Microsoft Jet выполняется в режиме песочницы, который не позволяет рассчитывать потенциально небезопасные выражения. Для получения дополнительных сведений выполните в справке поиск по словам "режим песочницы".

Создает и возвращает ссылку на объект ActiveX.

Синтаксис

CreateObject ( класс [, имя_сервера] )

Функция CreateObject имеет следующие аргументы:

Аргумент

Описание

класс

Обязательный аргумент. Variant (String). Имя приложения и класс создаваемого объекта.

имя_сервера

Необязательный аргумент. Variant (String). Имя сетевого сервера, где будет создан объект. Если имя_сервера является пустой строкой (""), используется локальный компьютер.

Аргумент классаргумент использует синтаксис имя_приложения.тип_объекта и содержит следующие части:

Элемент

Описание

имя_приложения

Обязательный аргумент. Variant (String). Имя приложения, предоставляющего объект.

тип_объекта

Обязательный аргумент. Variant (String). Тип (класс) объекта, который требуется создать.

Замечания

В каждом приложении, поддерживающем автоматизацию, имеется хотя бы один тип объекта. Например, в приложении для обработки текстов могут быть объекты Application, Document и Toolbar.

Чтобы создать объект ActiveX, назначьте объект, возвращенный CreateObject , объектная переменная:

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

' Declare an object variable to hold the object ' reference. Dim as Object causes late binding. Dim ExcelSheet As ObjectSet ExcelSheet = CreateObject("Excel.Sheet")

В этом примере мы будем автоматизировать объект электронной таблицы Excel из базы данных Access. Этот код запускает приложение, создающее объект , в данном случае электронную таблицу Microsoft Excel. На созданный объект можно ссылаться в коде с помощью определенной вами объектной переменной. В следующем примере доступ к свойствам и методам нового объекта осуществлялся с помощью объектной переменной, ExcelSheet и других объектов Excel, включая объект Application и коллекцию Cells.

' Make Excel visible through the Application object.ExcelSheet.Application.Visible = True' Place some text in the first cell of the sheet.ExcelSheet.Application.Cells(1, 1).Value = "This is column A, row 1"' Save the sheet to C:\test.xls directory.ExcelSheet.SaveAs "C:\TEST.XLS"' Close Excel with the Quit method on the Application object.ExcelSheet.Application.Quit' Release the object variable.Set ExcelSheet = Nothing

При объявлении объектной переменной с помощью предложения As Object создается переменная, которая может содержать ссылку на любой тип объекта. Однако обращение к объекту через эту переменную выполняется с поздним связыванием, то есть привязка создается при выполнении программы. Чтобы создать объектную переменную с ранним связыванием, то есть со связыванием при компиляции программы, объявите объектную переменную с определенным идентификатором класса. Например, объявите и создайте следующие ссылки Excel:

Dim xlApp As Excel.Application Dim xlBook As Excel.WorkbookDim xlSheet As Excel.WorkSheetSet xlApp = CreateObject("Excel.Application")Set xlBook = xlApp.Workbooks.AddSet xlSheet = xlBook.Worksheets(1)

Ссылка через переменную раннего связывания может обеспечить лучшую производительность, но может содержать только ссылку на класс, указанную в объявление.

Можно передать объект, возвращаемый функцией CreateObject, функции, которая использует объект в качестве аргумента. Например, в следующем коде создается и передается ссылка на объект Excel.Application:

Call MySub (CreateObject("Excel.Application"))

Вы можете создать объект на удаленном компьютере, подключенном к сети, указав его имя в аргументе имя_сервера функции CreateObject. Это имя совпадает с именем компьютера в имени общего ресурса: для имени "\\MyServer\Public" имя_сервера будет "MyServer".

Примечание:  Дополнительные сведения о том, как сделать приложение видимым на удаленном сетевом компьютере, см. в документации COM (Microsoft Developer Network). Возможно, понадобится добавить раздел реестра для приложения.

Следующий код возвращает номер версии экземпляра приложения Excel, запущенного на удаленном компьютере с именем MyServer:

Dim xlApp As ObjectSet xlApp = CreateObject("Excel.Application", "MyServer")Debug.Print xlApp.Version

Если удаленный сервер не существует или недоступен, возникает ошибка во время выполнения.

Примечание:  Используйте функцию CreateObject, если текущий экземпляр объекта отсутствует. Если экземпляр объекта уже запущен, запускается новый экземпляр и создается объект указанного типа. Чтобы использовать текущий экземпляр или запустить приложение и загрузить файл, следует воспользоваться функцией GetObject.

Если объект зарегистрировал себя как объект типа "единственный экземпляр", создается только один экземпляр этого объекта независимо от того, сколько раз выполнялась функция CreateObject.

Пример

В данном примере функция CreateObject используется для задания ссылки (

xlApp

) в Excel. Он использует ссылку для доступа к свойству Visible Excel, а затем использует метод Excel Quit , чтобы закрыть его. Наконец, освобождается сама ссылка.

Dim xlApp As Object    ' Declare variable to hold the reference.Set xlApp = CreateObject("excel.application")    ' You may have to set Visible property to True    ' if you want to see the application.xlApp.Visible = True    ' Use xlApp to access Microsoft Excel's     ' other objects.xlApp.Quit    ' When you finish, use the Quit method to close Set xlApp = Nothing    ' the application, then release the reference.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.