Зараз ви перебуваєте в автономному режимі; очікується повторне підключення до Інтернету

Під час використання команди CreateObject у програмі Excel не завантажуються надбудови

ОЗНАКИ
Під час отримання доступу до Microsoft Excel як до об’єкта автоматизації OLE за допомогою команди CreateObject надбудови розташовані в каталозі XLStart файли та нова книга за промовчанням не завантажуються.
ПРИЧИНА
Під час спроби завантажити надбудови та файли Excel надсилає повідомлення застосунку, що виконує виклик (наприклад, Visual Basic). Цей застосунок не готовий відповісти на запит і повторити спробу пізніше. Застосунку, що виконує виклик, можливо, не вдається обробити цей запит і виконати інші команди.
ОБХІДНИЙ ШЛЯХ
Корпорація Майкрософт надає приклади програмного коду тільки для ілюстрації без будь-яких гарантій, зокрема виражених або неявних. Це стосується, окрім іншого, будь-яких гарантій придатності для конкретного використання або до продажу. Приклади, наведені в цій статті, розраховано на користувачів, які мають достатній рівень знань відповідної мови програмування та необхідних засобів і процедур розробки й налагодження. Співробітники служби підтримки корпорації Майкрософт можуть пояснити можливості конкретної процедури. Проте вони не будуть змінювати приклади для реалізації додаткових можливостей або створювати процедури на вимогу окремих користувачів.

Щоб завантажити файл надбудови під час запуску програми Excel як об’єкта автоматизації OLE, це слід зробити вручну. Приклади такого способу наведено нижче.

Microsoft Office Excel 2007

Sub LoadAddin()   ' Dimension variable xl as object type.   Dim xl As Object   ' Activate Microsoft Excel and assign to variable xl.   Set XL = CreateObject("Excel.Application")   ' Open the add-in file you want, in this example, XLQUERY.XLAM.   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLAM")   ' If you need to register the functions and commands   ' contained in a resource (XLL), use the RegisterXLL method.   ' In the example below, all functions of Analys32.xll are   ' registered.   ' XL.RegisterXLL "Analys32.xll"   ' Run any auto macros contained in the add-in file   ' Auto macros don't run when you open a file   ' using the Open method.   XL.Workbooks("xlquery.xlam").RunAutoMacros 1   Set XL = Nothing End Sub				

Microsoft Office Excel 2003 та попередні версії Excel

Sub LoadAddin()   ' Dimension variable xl as object type.   Dim xl As Object   ' Activate Microsoft Excel and assign to variable xl.   Set XL = CreateObject("Excel.Application")   ' Open the add-in file you want, in this example, XLQUERY.XLA.   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLA")   ' If you need to register the functions and commands   ' contained in a resource (XLL), use the RegisterXLL method.   ' In the example below, all functions of Analys32.xll are   ' registered.   ' XL.RegisterXLL "Analys32.xll"   ' Run any auto macros contained in the add-in file   ' Auto macros don't run when you open a file   ' using the Open method.   XL.Workbooks("xlquery.xla").RunAutoMacros 1   Set XL = Nothing End Sub				
ДОДАТКОВІ ВІДОМОСТІ
Оскільки Excel під час запуску як об’єкта автоматизації OLE не завантажує надбудови або файли в каталозі XLStart, користувач зберігає повний контроль за процесом завантаження. Якщо потрібно завантажувати надбудову, це можна зробити вручну.

У такому випадку після виклику програми Excel із застосуванням команди CreateObject помилки макроса, сповіщення про заблокований файл і про доступність файлу лише для читання не перешкоджатимуть його завантаженню. Іншою перевагою цього сценарію є зменшення часу, потрібного для завантаження програми Excel, у порівнянні з часом, потрібним для завантаження з надбудовами або файлами.
ПОСИЛАННЯ
Докладнішу інформацію про отримання допомоги з Visual Basic для застосунків див. у статті бази знань Майкрософт:
226118 Список ресурсів, які допоможуть у вивченні програмування Visual Basic для застосунків
personal.xls personal macro workbook XL2000 XL2002 XL2003 XL2007
Властивості

Ідентифікатор статті: 213489 – останній перегляд: 09/18/2011 23:22:00 – виправлення: 2.0

Microsoft Office Excel 2007, Microsoft Excel 2002 - стандартний випуск, Microsoft Excel 2000 - стандартний випуск, Microsoft Excel 97 - стандартний випуск

  • kbautomation kbvba kbexpertiseinter kbdtacode kbprb kbprogramming KB213489
Зворотний зв’язок
tml>