VBA CreateObject (Създаване на обект)

Тази статия ще ви покаже как да използвате метода Create Object във VBA.

VBA е обектно -ориентиран език - използва процедури за контрол и създаване на обекти.

Създаване на обект

Можем да използваме метода Create Object за създаване на Object в приложение на Microsoft Office. Например, ако пишем VBA код в Excel и желаем да отворим копие на Word, можем да използваме метода Create Object за създаване на нов екземпляр на Word.

Например:

12345 Sub CreateWordInstance ()Затъмнете wdApp като обектЗадайте wdApp = CreateObject ("Word.Application")wdApp.Visible = ВярноEnd Sub

По същия начин можем да създадем нов екземпляр на PowerPoint или Access.

12345 Sub CreatePowerPointApplicationЗатъмнете ppApp като обектЗадайте ppApp = CreateObject ("PowerPoint.Application")ppApp.Visible = ВярноEnd Sub

Можем също да използваме Create Object за създаване на обекти, различни от Object Application. Можем да го използваме за създаване на Excel лист например.

1234567 Sub CreateExcelSheet ()Затъмнете xlSheet като обектЗадайте xlSheet = CreateObject ("Excel.Sheet")xlSheet.Application.Visible = ВярноxlSheet.Application.Range ("A2") = "Добро утро"Задайте xlSheet = НищоEnd Sub

Това обаче всъщност създава нов екземпляр на Excel - не създава листа в екземпляра, който вече е отворен. Поради тази причина трябва да зададем Приложение на новия лист (т.е. новия екземпляр на Excel) на Видимо, за да видим обекта.

Във всички примери по -горе използваме Късно свързване - затова декларираме променливите като Обекти. Можем също да използваме Ранно свързване, като зададем препратка към Word или PowerPoint в нашия VBA проект и след това напишем подпроцедурата, както е показано по -долу. За да разберете повече за Късно и Ранно обвързване, щракнете тук.

Първо за Ранно свързване, в рамките на VBE, ние зададохме препратка към Microsoft Word.

В Меню лента, изберете Инструменти> Препратки и превъртете надолу, за да намерите препратката към Библиотека на обекти на Microsoft Word 16.0.

Уверете се, че препратката е проверена и след това щракнете върху ДОБРЕ.

ЗАБЕЛЕЖКА: версията може да не е 16.0, всичко зависи от това коя версия на Microsoft Office използвате на вашия компютър!

Сега декларираме обекта с помощта на ранно свързване - това означава, че вместо да декларираме wdApp като обект, ние го декларираме като Word.Приложение. Останалата част от кода е същата, както когато използвахме Late Binding по -горе.

12345 Sub CreateWordInstance ()Затъмнете wdApp като нова Word.ApplicationЗадайте wdApp = CreateObject ("Word.Application")wdApp.Visible = ВярноEnd Sub

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave