Teď jste offline a čekáte, až se znova připojí internet.

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

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
personal.xls personal macro workbook XL2000 XL2002 XL2003 XL2007
Vlastnosti

ID článku: 213489 - Poslední kontrola: 09/18/2011 23:15:00 - Revize: 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
Váš názor
cript>