Яка різниця між GetObject і CreateObject у Excel VBA?

Використовуйте функцію GetObject, коли є поточний екземпляр об’єкта або якщо ви хочете створити об’єкт із уже завантаженим файлом. Якщо поточного екземпляра немає, і ви не хочете, щоб об’єкт запускався із завантаженим файлом, скористайтеся функцією CreateObject.30 березня 2022 р.

GetObject є використовується для приєднання до запущеного екземпляра сервера автоматизації. Існує кілька способів виклику GetObject, але синтаксис, рекомендований для програм Microsoft Office, такий: set xlApp = GetObject(, "Excel.Application")

Створіть об’єкт у VBA. Створити об’єкт — це функція, яка використовується для створення та посилання на об’єкти ActiveX. Об’єкт ActiveX – це об’єкт, який використовується для інтерфейсів автоматизації. Об’єкти — це об’єкти у VBA, які складаються з коду. Excel VBA Create Object дозволяє нам створювати об’єкти у VBA.

Новий вимагає посилання на бібліотеку типів. Тоді як CreateObject використовує реєстр. CreateObject можна використовувати для створення об’єкта на віддаленій машині.

Це використовує властивість Application аркуша, щоб зробити Excel видимим, закрити його тощо. Використовуючи два виклики API, процедура DetectExcel Sub шукає Excel і, якщо він запущений, вносить його в таблицю запущених об’єктів. Перший виклик GetObject викликає помилку, якщо Microsoft Excel ще не запущено.

Використовуйте функцію GetObject, коли є поточний екземпляр об’єкта або якщо ви хочете створити об’єкт із уже завантаженим файлом. Якщо поточного екземпляра немає, і ви не хочете, щоб об’єкт запускався із завантаженим файлом, скористайтеся функцією CreateObject.