Při použití příkazu CreateObject v aplikaci Excel se nenačtou doplňky

Překlady článku Překlady článku
ID článku: 213489 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Pokud prostřednictvím příkazu CreateObject přistoupíte k aplikaci Microsoft Excel jako k objektu automatizace OLE, nenačtou se doplňky, soubory umístěné v adresáři XLStart a výchozí nový sešit.

Příčina

Pokusíte-li se načíst tyto doplňky a soubory, aplikace Excel odešle volající aplikaci, jako je například Visual Basic, zprávu, že není připravena reagovat na tento požadavek a že je třeba akci zopakovat. Může se stát, že volající aplikace není schopna tento požadavek zpracovat a pokračovat ve zpracování dalších příkazů.

Jak potíže obejít

Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci, bez žádné záruky výslovně uvedené nebo odvozené, včetně, bez omezení, odvozených záruk vztahujících se k obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že uživatel je obeznámen s programovacím jazykem, který je předmětem ukázky, a s nástroji použitými pro vytvoření a ladění skriptu. Pracovníci technické podpory společnosti Microsoft mohou vysvětlit funkce určité procedury, nemohou však následující příklady rozšířit o další funkce nebo vytvářet procedury podle konkrétních požadavků uživatele.

Chcete-li při spuštění aplikace Excel jako objektu automatizace OLE načíst soubor doplňku, musíte jej načíst ručně. Zde jsou uvedeny příklady použití této metody.

Aplikace 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 a starší verze aplikace 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
				

Další informace

Vzhledem k tomu, že aplikace Excel při spuštění jako objekt automatizace OLE nenačte doplňky a soubory v adresáři XLStart, máte nad procesem načítání plnou kontrolu. Chcete-li, aby byl doplněk načten, můžete jej načíst ručně.

Toto chování rovněž znamená, že žádné chyby maker, upozornění na uzamčené soubory či soubory určené jen ke čtení nebrání aplikaci Excel v načítání, je-li volána příkazem CreateObject. Další výhodou je rovněž skutečnost, že načtení aplikace Excel trvá kratší dobu, než když jsou rovněž načítány doplňky nebo soubory.

Odkazy

Další informace o možnostech získání nápovědy k jazyku Visual Basic for Applications naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
226118 Seznam dostupných zdrojů pro výuku programování v jazyce Visual Basic for Applications

Vlastnosti

ID článku: 213489 - Poslední aktualizace: 18. září 2011 - Revize: 2.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
Klíčová slova: 
kbautomation kbvba kbexpertiseinter kbdtacode kbprb kbprogramming KB213489

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com