У цій статті буде показано, як використовувати метод створення об’єкта у VBA.
VBA - це об’єктно -орієнтована мова - вона використовує процедури для управління та створення об’єктів.
Створити об'єкт
Ми можемо використовувати метод Створення об’єкта для створення об’єкта в програмі Microsoft Office. Наприклад, якщо ми пишемо код VBA в Excel і хочемо відкрити копію Word, ми можемо використовувати метод Створення об’єкта для створення нового екземпляра 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. Таблиця")xlSheet.Application.Visible = ІстинаxlSheet.Application.Range ("A2") = "Доброго ранку"Встановити xlSheet = НічогоEnd Sub |
Однак це фактично створює новий екземпляр Excel - він не створює аркуш у вже відкритому екземплярі. З цієї причини нам потрібно встановити Application for the new sheet (тобто: новий екземпляр Excel) на Visible, щоб побачити об’єкт.
У всіх наведених вище прикладах ми використовуємо Late Binding - отже, ми оголошуємо змінні як Objects. Ми також можемо використовувати Early Binding, встановивши посилання на Word або PowerPoint у нашому проекті VBA, а потім написавши підпроцедуру, як показано нижче. Щоб дізнатися більше про пізнє та раннє зв’язування, натисніть тут.
По -перше, для Early Binding, у VBE, ми встановили посилання на Microsoft Word.
В Меню панель, виберіть Інструменти> Посилання і прокрутіть вниз, щоб знайти посилання на Бібліотека об’єктів Microsoft Word 16.0.
Переконайтеся, що посилання перевірено, а потім клацніть В ПОРЯДКУ.
ПРИМІТКА. Можливо, версія не 16.0, все залежить від того, яку версію Microsoft Office ви використовуєте на своєму ПК!
Тепер ми оголошуємо Object за допомогою Early Binding - це означає, що замість оголошення wdApp як Object, ми оголошуємо його як Word.Застосування. Решта коду така ж, як і у випадку, коли ми використовували Late Binding вище.
12345 | Sub CreateWordInstance ()Затемнити wdApp як нове словоВстановіть wdApp = CreateObject ("Word.Application")wdApp.Visible = ПравдаEnd Sub |