Преминаване към основното съдържание

Функция CreateObject

Забележка: Бихме искали да ви осигурим най-новото помощно съдържание възможно най-бързо на вашия собствен език. Тази страница е преведена чрез автоматизация и може да съдържа граматически грешки и несъответствия. Нашата цел е това съдържание да ви бъде полезно. Можете ли да ни кажете дали информацията е била полезна за вас, в дъното на тази страница? Ето статията на английски за бърза справка.

Забележка: Функцията, методът, обекта или свойството, описани в тази тема, е забранена, ако услугата Microsoft Jet Expression се изпълнява в ограничителен режим, което не позволява оценка на потенциално опасни изрази. За повече информация относно режима на таксуване, потърсете "режим на таксуване" в "Помощ".

Създава и връща препратка към ActiveX обект.

Синтаксис

CreateObject ( клас [, ServerName] )

Синтаксисът на функцията CreateObject има следните аргументи:

Аргумент

Описание

клас

Задължително. Вариант (Низ). Името на приложението и класа на обекта за създаване.

ServerName

Незадължително. Вариант (Низ). Името на мрежовия сървър, където ще се създаде обектът. Ако ServerName е празен низ (""), е използван локален компютър.


Класът аргумент използва синтаксиса AppName.objecttype и има следните части:

Част

Описание

AppName

Задължително. Вариант (Низ). Името на приложението, което предоставя обекта.

objecttype

Задължително. Вариант (Низ). Типът или клас на обекта, който трябва да се създаде.


Забележки

Всяко приложение, което поддържа автоматизация, предоставя поне един тип обекти. Например дадено приложение за текстообработка може да предостави обект на приложение , обект на документ и обект с лента с инструменти .

За да създадете обект ActiveX, задайте обекта, върнат от CreateObject на променлива за обект:

Забележка: Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (VBA). За повече информация относно работата с VBA изберете Справочни материали за разработчици в падащия списък до Търсене и въведете един или няколко термина в полето за търсене.

' Declare an object variable to hold the object 
' reference. Dim as Object causes late binding.
Dim ExcelSheet As Object
Set 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.Workbook
Dim xlSheet As Excel.WorkSheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

Препратката през ранна променлива може да даде по-добра производителност, но може да съдържа само препратка към клас, зададена в декларация.

Можете да подадете обект, върнат от функцията CreateObject , към функция, която очаква обект като аргумент. Например кодът по-долу създава и подава препратка към обект на приложението Excel.

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

Можете да създадете обект на отдалечен мрежов компютър, като предадете името на компютъра на аргумента ServerName на CreateObject. Това име е същото като частта за име на машина на име за споделяне: за дял с име "\\MyServer\Public" ServerName е "MyServer".

Забележка:  Вижте COM документация (вижте Microsoft Developer Network) за допълнителна информация, за да се направи приложение видимо на отдалечен компютър в мрежа. Може да се наложи да добавите ключ от системния регистър за вашето приложение.

Следващият код връща номера на версията на екземпляр на Excel, който се изпълнява на отдалечен компютър с име MyServer:

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

Ако отдалеченият сървър не съществува или е недостъпен, възниква грешка по време на изпълнение.

Забележка:  Използвайте CreateObject , когато няма текущ екземпляр на обекта. Ако екземпляр на обекта вече се изпълнява, се стартира нов екземпляр и се създава обект от зададения тип. За да използвате текущия екземпляр или да стартирате приложението и да заредите файл, използвайте функцията GetObject .

Ако обектът се е регистрирал като единичен екземпляр на обект, се създава само един екземпляр на обекта, без значение колко пъти CreateObject се изпълнява.

Пример

Този пример използва функцията CreateObject , за да настрои препратка (

xlApp

) в Excel. Използва препратката, за да получи достъп до видимото свойство на Excel, а след това използва метода за затваряне на Excel, за да го затвори. И накрая, самата препратка е издадена.

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.
Разширете уменията си в Office
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×