Тази статия ще ви покаже как да използвате метода 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 |