Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Примітка.: Функція, метод, об’єкт або властивість, описана в цьому розділі, недоступна, якщо Microsoft Jet Expression Service працює в режимі ізольованого програмного середовища, що запобігає обчисленню потенційно небезпечних виразів. Щоб отримати докладні відомості про режим ізольованого програмного середовища, у вікні довідки шукайте за запитом "режим ізольованого програмного середовища".

Створює й повертає посилання на об’єкт ActiveX.

Синтаксис

CreateObject ( class [, servername] )

Синтаксис функції CreateObject має такі аргументи:

Аргумент

Опис

class

Обов’язковий аргумент. Дані типу Variant (String). Ім’я програми та клас об’єкта, який потрібно створити.

servername

Необов’язковий аргумент. Дані типу Variant (String). Ім’я мережевого сервера, на якому буде створено об’єкт. Якщо аргумент servername – це пустий рядок (""), використовується локальний комп’ютер.


У аргумент класу використовується синтаксична назва програми.objecttype і має такі частини:

Частина

Опис

appname

Обов’язковий аргумент. Дані типу Variant (String). Ім’я програми, що надає об’єкт.

objecttype

Обов’язковий аргумент. Дані типу Variant (String). Тип або клас об’єкта, який потрібно створити.


Примітки

Кожна програма, яка підтримує автоматизацію, містить принаймні один тип об’єкта. Наприклад, текстовий редактор може надавати об’єкти Application, Document і Toolbar.

Щоб створити об'єкт 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.Application:

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. Тут використовується посилання для доступу до властивості 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.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×