Jelenleg nem kapcsolódik az internethez. Várakozás a kapcsolat helyreállítására

A CreateObject parancs használatakor nem töltődnek be a bővítmények az Excel alkalmazásban

A jelenség
Ha a Microsoft Excel alkalmazást OLE automatizálási objektumként éri el a CreateObject paranccsal, az XLStart mappában található bővítmények és fájlok, valamint az alapértelmezett új munkafüzet nem töltődik be.
Oka
A bővítmények és fájlok betöltésekor az Excel üzenetben jelzi a hívó alkalmazásnak (például Visual Basic), hogy nem áll készen a kérelem megválaszolására, ezért újból kell próbálkoznia. Előfordulhat, hogy a hívó alkalmazás nem képes kezelni a kérelmet, és nem tudja végrehajtani a többi parancsot.
Kerülő megoldás
A Microsoft csak szemléltetési célból ad közre programozási példákat, és azokra – beleértve a forgalomba hozhatóságot és az adott célra való megfelelőséget is – sem törvényi, sem más garanciát nem vállal. A cikk feltételezi, hogy az olvasó jártas a bemutatott programozási nyelvben, valamint az eljárások létrehozására és a velük kapcsolatos hibakeresésre szolgáló eszközök használatában. A Microsoft támogatási szakemberei segíthetnek az egyes eljárások működésének megértésében. E szakemberek ugyanakkor funkcióbővítési célból nem módosítják a példákat, és nem készítenek az egyéni igényeknek megfelelő eljárásokat.

Ha az Excel alkalmazás OLE automatizálási objektumként való futtatásakor szeretne egy bővítményfájlt betölteni, végezze el kézzel a betöltést. E metódusra példák az alábbiak.

A Microsoft Office Excel 2007 esetén

Sub LoadAddin()   ' xl definiálása objektum típusú változóként.   Dim xl As Object   ' Aktiválja és az xl változóhoz rendeli a Microsoft Excel alkalmazást.   Set XL = CreateObject("Excel.Application")   ' Megnyitja a kívánt bővítményfájlt, a jelen példában az XLQUERY.XLAM fájlt.   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLAM")   ' Ha regisztrálnia kell a függvényeket és parancsokat,   ' amelyek egy erőforrásban (XLL) találhatók, használja a RegisterXLL metódust.   ' Az alábbi példában az Analys32.xll minden függvénye   ' regisztrálva van.   ' XL.RegisterXLL "Analys32.xll"   ' A bővítményfájlban található bármely automatikus makrót futtatja   ' Az automatikus makrók nem futnak, ha egy fájlt az   ' Open metódus használatával nyit meg.   XL.Workbooks("xlquery.xlam").RunAutoMacros 1   Set XL = Nothing End Sub				

A Microsoft Office Excel 2003 és az Excel korábbi verziói esetén

Sub LoadAddin()   ' xl definiálása objektum típusú változóként.   Dim xl As Object   ' Aktiválja és az xl változóhoz rendeli a Microsoft Excel alkalmazást.   Set XL = CreateObject("Excel.Application")   ' Megnyitja a kívánt bővítményfájlt, a jelen példában az XLQUERY.XLA fájlt.   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLA")   ' Ha regisztrálnia kell a függvényeket és parancsokat,   ' amelyek egy erőforrásban (XLL) találhatók, használja a RegisterXLL metódust.   ' Az alábbi példában az Analys32.xll minden függvénye   ' regisztrálva van.   ' XL.RegisterXLL "Analys32.xll"   ' A bővítményfájlban található bármely automatikus makrót futtatja   ' Az automatikus makrók nem futnak, ha egy fájlt az   ' Open metódus használatával nyit meg.   XL.Workbooks("xlquery.xla").RunAutoMacros 1   Set XL = Nothing End Sub				
További információ
Mivel az Excel nem tölti be az XLStart mappában lévő bővítményeket és fájlokat abban az esetben, ha OLE automatizálási objektumként hívja meg, teljes mértékben felügyelheti a betöltési folyamatot. Ha be szeretne tölteni egy bővítményt, kézzel betöltheti azt.

Ez azt is jelenti, hogy a CreateObject paranccsal való meghívás esetén nem makróhiba vagy zárolt, illetve írásvédett fájlra vonatkozó értesítés akadályozza meg az Excel alkalmazást a betöltéstől. E működés másik előnye, hogy így kevesebb időt vesz igénybe az Excel betöltése, mint a bővítmények vagy fájlok betöltésekor.
Hivatkozások
A Visual Basic for Applications összetevővel kapcsolatos forrásokról a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
226118 A Visual Basic for Applications programozási nyelv tanulását megkönnyítő források listája (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
personal.xls personal macro workbook XL2000 XL2002 XL2003 XL2007
Tulajdonságok

Cikkazonosító: 213489 - Utolsó ellenőrzés: 09/18/2011 23:17:00 - Verziószám: 3.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
Visszajelzés