ID článku: 213489 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

PRIZNAKY

Keď otvoríte program Microsoft Excel ako objekt automatizácie OLE pomocou príkazu CreateObject, doplnky, súbory nachádzajúce sa v adresári XLStart a predvolený nový pracovný zošit sa nenačítajú.

PRICINA

Keď sa pokúsite načítať doplnky a súbory, z programu Excel sa odošle správa volajúcej aplikácii (ako je napríklad aplikácia Visual Basic) o tom, že program nie je pripravený reagovať na požiadavku, s výzvou na opakovanie tohto kroku neskôr. Volajúca aplikácia nemusí byť schopná spracovať túto požiadavku a bude pokračovať so zvyšnou časťou príkazov.

RIEŠENIE

Spoločnosť Microsoft poskytuje príklady programovacieho kódu len ako názornú ukážku bez ľubovoľnej vyjadrenej alebo implicitnej záruky. Toto okrem iného zahŕňa implicitné záruky obchodovateľnosti a vhodnosti na konkrétny účel. Úroveň odbornosti článku predpokladá, že ovládate predvádzaný programovací jazyk a nástroje, ktoré sa používajú na vytváranie a ladenie procedúr. Pracovníci oddelenia technickej podpory spoločnosti Microsoft vám môžu objasniť funkciu určitej konkrétnej procedúry. Publikované príklady však neupravia, aby zaistili požadovanú pridanú funkčnosť alebo pridali ďalšie konštrukčné procedúry zohľadňujúce vaše konkrétne požiadavky.

Ak chcete načítať súbor doplnku, keď spustíte program Excel ako objekt automatizácie OLE, načítajte doplnok manuálne. Tu sú príklady tejto metódy.

Microsoft Office Excel 2007

Sub LoadAddin()

   ' Premenná dimenzie xl ako typ objektu.
   Dim xl As Object

   ' Aktivujte program Microsoft Excel a vykonajte priradenie k premennej xl.
   Set XL = CreateObject("Excel.Application")

   ' Otvorte požadovaný doplnok, v tomto príklade to bude XLQUERY.XLAM.
   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLAM")

   ' Ak potrebujete zaregistrovať funkcie a príkazy
   ' obsiahnuté v prostriedku (XLL), použite metódu RegisterXLL.
   ' V príklade uvedenom nižšie sú zaregistrované všetky funkcie
   ' Analys32.xll.
   ' XL.RegisterXLL "Analys32.xll"

   ' Spustite všetky automatické makrá obsiahnuté v súbore doplnku
   ' Automatické makrá sa nespustia, keď otvoríte súbor
   ' pomocou metódy Open.
   XL.Workbooks("xlquery.xlam").RunAutoMacros 1

   Set XL = Nothing
 End Sub
				

Microsoft Office Excel 2003 a staršie verzie programu Excel

Sub LoadAddin()

   ' Premenná dimenzie xl ako typ objektu.
   Dim xl As Object

   ' Aktivujte program Microsoft Excel a vykonajte priradenie k premennej xl.
   Set XL = CreateObject("Excel.Application")

   ' Otvorte požadovaný doplnok, v tomto príklade to bude XLQUERY.XLA.
   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLA")

   ' Ak potrebujete zaregistrovať funkcie a príkazy
   ' obsiahnuté v prostriedku (XLL), použite metódu RegisterXLL.
   ' V príklade uvedenom nižšie sú zaregistrované všetky funkcie
   ' Analys32.xll.
   ' XL.RegisterXLL "Analys32.xll"

   ' Spustite všetky automatické makrá obsiahnuté v súbore doplnku
   ' Automatické makrá sa nespustia, keď otvoríte súbor
   ' pomocou metódy Open.
   XL.Workbooks("xlquery.xla").RunAutoMacros 1

   Set XL = Nothing
 End Sub
				

DALSIE INFORMACIE

Keďže pri vyvolaní programu Excel ako objektu automatizácie OLE sa nenačítajú doplnky ani súbory v adresári XLStart, máte k dispozícii úplnú kontrolu nad procesom načítania. Ak chcete načítať doplnok, môžete ho načítať manuálne.

Toto správanie taktiež znamená, že chyby makier, upozornenia na zamknutý súbor ani upozornenia na súbor iba na čítanie nezabránia načítaniu programu Excel v prípade jeho vyvolania príkazom CreateObject. Ďalšou výhodou tohto správania je kratší čas načítania programu Excel v porovnaní s načítaním programu Excel spolu s jeho doplnkami alebo súbormi.

ODKAZY

Ďalšie informácie o tom, ako získať pomoc k programu Visual Basic for Applications, získate po kliknutí na nasledujúce číslo článku databázy Microsoft Knowledge Base:
226118 Zoznam zdrojov informácií, ktoré sú k dispozícii ako pomôcka na to, aby ste sa naučili programovať v programe Visual Basic for Applications (Toto prepojenie môže smerovať na obsah, ktorý je z časti alebo celý v angličtine)

Vlastnosti

ID článku: 213489 - Posledná kontrola: 18. septembra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
Kľúčové slová: 
kbautomation kbvba kbexpertiseinter kbdtacode kbprb kbprogramming KB213489

Odošlite odozvu

 

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