В момента сте офлайн в очакване на повторно свързване с интернет

Не се зареждат добавки, когато се използва командата CreateObject в Excel

СИМПТОМИ
Когато получите достъп до Microsoft Excel като обект на OLE Automation чрез командата CreateObject, добавките (файлове, които се намират в директорията XLStart) и работната книга по подразбиране не се зареждат.
ПРИЧИНА
Когато се опитате да заредите добавки и файлове, Excel изпраща съобщение към викащото приложение, като например Visual Basic, което не е готово да отговори на заявката и да направи по-късно повторен опит. Възможно е викащото приложение да не може да обработи тази заявка и да продължи с останалите команди.
ЗАОБИКАЛЯНЕ
Microsoft предоставя примери на софтуерен код само за илюстративни цели без изрично споменати или подразбиращи се гаранции. Това включва като минимум подразбиращите се гаранции за продаваемост или пригодност за друга конкретна цел. Подразбира се, че сте запознати с демонстрирания език за програмиране и инструментите, използвани за създаване на процедури и отстраняване на програмни грешки в тях. Инженерите по поддръжка на Microsoft могат да ви съдействат с обяснение на функциите на конкретна процедура. Те няма да модифицират тези примери с цел предоставяне на допълнителна функционалност или създаване на процедури за удовлетворение на конкретните ви изисквания.

За да заредите файл на добавка, когато стартирате Excel като обект на OLE Automation, заредете добавката ръчно. Следват примери за този метод.

Microsoft Office Excel 2007

Sub LoadAddin()   ' Задайте променливата xl като тип обект.   Dim xl As Object   ' Активирайте Microsoft Excel и го задайте в променливата xl.   Set XL = CreateObject("Excel.Application")   ' Отворете файла на желаната добавка – в този пример XLQUERY.XLAM.   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLAM")   ' Ако трябва да регистрирате функциите и командите,   ' които се съдържат в ресурс (XLL), използвайте метода RegisterXLL.   ' В примера по-долу всички функции на Analys32.xll са   ' регистрирани.   ' XL.RegisterXLL "Analys32.xll"   ' Стартирайте всички автоматични макроси във файла на добавката   ' Автоматичните макроси не се изпълняват, когато отворите файл   ' чрез метода Open.   XL.Workbooks("xlquery.xlam").RunAutoMacros 1   Set XL = Nothing End Sub				

Microsoft Office Excel 2003 и по-стари версии на Excel

Sub LoadAddin()   ' Задайте променливата xl като тип обект.   Dim xl As Object   ' Активирайте Microsoft Excel и го задайте в променливата xl.   Set XL = CreateObject("Excel.Application")   ' Отворете файла на желаната добавка – в този пример XLQUERY.XLA.   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLA")   ' Ако трябва да регистрирате функциите и командите,   ' които се съдържат в ресурс (XLL), използвайте метода RegisterXLL.   ' В примера по-долу всички функции на Analys32.xll са   ' регистрирани.   ' XL.RegisterXLL "Analys32.xll"   ' Стартирайте всички автоматични макроси във файла на добавката   ' Автоматичните макроси не се изпълняват, когато отворите файл   ' чрез метода Open.   XL.Workbooks("xlquery.xla").RunAutoMacros 1   Set XL = Nothing End Sub				
ДОПЪЛНИТЕЛНА ИНФОРМАЦИЯ
Тъй като Excel не зарежда добавки или файлове в директорията XLStart, когато го извикате като обект на OLE Automation, имате пълен контрол над процеса на зареждане. Ако искате да се зареди добавка, можете да я заредите ръчно.

Това поведение означава също, че никакви грешки в макросите, известия за заключени файлове или известия за файлове "само за четене" не пречат на зареждането на Excel, когато той се извиква чрез командата CreateObject. Друго предимство на това поведение, че е необходимо по-малко време за зареждането на Excel в сравнение със случая, когато се зареждат добавки или файлове.
БИБЛИОГРАФИЯ
За допълнителна информация относно получаването на помощ за Visual Basic for Applications щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
226118 Списък на наличните ресурси, които могат да ви помогнат да се научите да програмирате с Visual Basic for Applications (Тази връзка може да сочи към съдържание, което е отчасти или изцяло на английски)
personal.xls лични макрос работна книга XL2000 XL2002 XL2003 XL2007
Свойства

ИД на статията: 213489 – Последен преглед: 09/18/2011 23:15:00 – Редакция: 2.0

Microsoft Office Excel 2007, Microsoft Excel 2002 Standard Edition, Microsoft Excel 2000 Standard Edition, Microsoft Excel 97 Standard Edition

  • kbautomation kbvba kbexpertiseinter kbdtacode kbprb kbprogramming KB213489
Обратна връзка
الإمارات العربية المتحدة - العربية
Colombia - Español
Luxembourg - Français
Srbija - Srpski
المملكة العربية السعودية - العربية
Costa Rica - Español
Magyarország - Magyar
Suisse - Français
مصر - العربية
Crna Gora - Srpski
Malaysia - English
Suomi - Suomi
भारत - हिंदी
Danmark - Dansk
Maroc - Français
Sverige - Svenska
ไทย - ไทย
Deutschland - Deutsch
México - Español
Tunisie - Français
中国 - 简体中文
Dominican Republic - Español
Nederland - Nederlands
Türkiye - Türkçe
台灣 - 繁體中文
Ecuador - Español
New Zealand - English
United Kingdom - English
日本 - 日本語
Eesti - Eesti
Norge - Bokmål
United States - English
香港特別行政區 - 繁體中文
El Salvador - Español
Panamá - Español
Uruguay - Español
대한민국 - 한국어
España - Español
Paraguay - Español
Venezuela - Español