CreateObject във VBA - Как да използвам функцията CreateObject във VBA?

Функция CreateObject във VBA

Обектите са много важни понятия в кодирането на VBA и разбирането, че работният модел на обекта е доста сложен. Когато препращаме към обектите в VBA кодирането, ние го правим по два начина, т.е. „Ранно обвързване“ и „Късно обвързване“. „Ранно обвързване“ е процесът на задаване на препратка към обект от референтната библиотека на VBA и когато изпращаме файла на някой друг, той също изисква да зададе препратката към съответните обекти. Въпреки това, „Късно обвързване“ не изисква от потребителя да задава каквито и да е препратки към обекти, тъй като при кодиране със късно обвързване задаваме препратката към съответния обект, като използваме функцията VBA „CreateObject“.

Какво представлява CreateObject в Excel VBA?

„Създаване на обект“, както самото име казва, че ще създаде споменатия обект от Excel VBA. И така, функцията Create Object връща препратката към обект, иницииран от Active X компонент.

По-долу е синтаксисът на функцията CreateObject във VBA

  • Клас: Името на обекта, който се опитваме да инициираме и зададем препратката към променливата.
  • (Име на сървъра): Това е незадължителен параметър; ако се игнорира, ще използва само локалната машина.

Пример за създаване на функция на обект в Excel VBA

По-долу са примерите за VBA CreateObject.

Пример # 1

Сега ще видим как да стартираме приложението PowerPoint от Excel, използвайки функцията CreateObject във VBA. Отворете Excel файла и отидете на прозореца на редактора на Visual Basic, като натиснете клавишите ALT + F11 .

Код:

Sub CreateObject_Example1 () Край Sub

Декларирайте променливата като PowerPoint.Application.

Както можете да видите по-горе, когато започнем да въвеждаме думата „PowerPoint“, не виждаме нито един списък на IntelliSense, показващ свързаните търсения. Това е така, защото “PowerPoint” е външен обект. Но няма какво да се притеснявате, обявете променливата като „Обект“.

Код:

Sub CreateObject_Example1 () Dim PPT като обект Край Sub

Тъй като сме декларирали променливата като „Object“, трябва да зададем препратката към обекта, като използваме ключовата дума „Set“. Като въведете ключовата дума „Set“, споменете променливата и поставете знак за равенство.

Код:

Sub CreateObject_Example1 () Dim PPT As Object Set PPT = End Sub

Сега отворете функцията CreateObject.

Тъй като ние се позоваваме на външния обект на „PowerPoint“ за параметър „Клас“ на функцията Създаване на обект, споменете името на външния обект в двойни кавички като „PowerPoint.Application“.

Код:

Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") End Sub

Сега функцията Създаване на обект ще инициира приложението PowerPoint. След като обектът бъде иницииран, трябва да го направим видим, като използваме името на променливата.

Един от проблемите с метода Create Object или метода за късно свързване е, че не виждаме списъка IntelliSense в момента. Трябва да сте абсолютно сигурни в кода, който пишете.

За променливата „PPT“ използвайте свойството „Visible“ и задайте състоянието като „True“.

Код:

Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub

За да добавите слайд към PPT, дефинирайте VBA кода по-долу.

Код:

Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub

Сега изпълнете кода ръчно или чрез клавиша F5 и вижте приложението “PowerPoint” се отваря.

След като приложението PowerPoint бъде активирано с помощта на променливата „PPT“, ние можем да започнем достъп до приложението PowerPoint.

Пример # 2

Сега ще видим как да стартираме приложение на Excel, използвайки функцията CreateObject във VBA. Още веднъж декларирайте променливата като „Обект“.

Код:

Sub CreateObject_Example2 () Dim ExcelSheet As Object End Sub

The moment we declare the variable as an object, it causes late binding, and we need to use the “Set” keyword to set the reference for the required object.

Since we are referencing to excel worksheet from the application excel, enter “Excel. Sheet” in double-quotes.

Code:

Sub CreateObject_Example2() Dim ExcelSheet As Object Set ExcelSheet = CreateObject("Excel.Sheet") End Sub

Once the reference for the excel sheet is set, we need to make it visible to use it. This is similar to how we made the PowerPoint application visible.

Code:

Sub CreateObject_Example2() Dim ExcelSheet As Object Set ExcelSheet = CreateObject("Excel.Sheet") ExcelSheet.Application.Visible = True End Sub

Now it will activate the excel worksheet.

Similarly, to initiate an excel workbook from other Microsoft products, we can use the below code.

Code:

Sub CreateObject_Example3 () Dim ExlWb като набор от обекти ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub

Неща, които трябва да запомните за CreateObject във VBA

  • Във VBA функцията CreateObject се използва за препратка към обекти.
  • Функцията Create Object предизвиква процес на късно свързване.
  • Използвайки функцията за създаване на обект, нямаме достъп до списъка IntelliSense на VBA.

Интересни статии...