Tillägg läses inte in när kommandot CreateObject används i Excel

Symptom
När du öppnar Microsoft Excel som ett OLE-automationsobjekt med kommandot CreateObject läses varken tillägg, filer i XLStart-mappen eller den nya arbetsboken in.
Orsak
När du försöker läsa in tillägg och filer skickar Excel ett meddelande till det anropande programmet, exempelvis Visual Basic, om att det inte är redo att svara på förfrågan och det försöker igen senare. Det kan hända att det anropande programmet inte kan hantera förfrågan och fortsätter med övriga kommandon.
Workaround
Microsoft tillhandahåller programmeringsexempel enbart i förklarande syfte och gör inga utfästelser, varken uttryckligen eller underförstått. Detta omfattar men begränsas inte till underförstådd garanti för säljbarhet eller lämplighet för ett visst syfte. I denna artikel förutsätts att du känner till det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan förklara hur en viss procedur fungerar, men de ändrar inte exemplen för att utöka funktionerna och konstruera procedurer som motsvarar dina behov.

Om du ska läsa in en tilläggsfil när du kör Excel som ett OLE-automationsobjekt, måste du läsa in det manuellt. Exempel på den metoden följer här.

Microsoft Office Excel 2007

Sub LoadAddin()   ' Dimensionvariabel xl som objekttyp.   Dim xl As Object   ' Aktivera Microsoft Excel och tilldela variabel xl.   Set XL = CreateObject("Excel.Application")   ' Öppna önskad tilläggsfil. I det här exemplet används XLQUERY.XLAM.   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLAM")   ' Om du behöver registrera funktioner och kommandon   ' i en resurs (XLL), använder du RegisterXLL-metoden.   ' I exemplet nedan registreras alla funktioner i   ' Analys32.xll.   ' XL.RegisterXLL "Analys32.xll"   ' Kör automatiska makron i tilläggsfilen   ' Automatiska makron körs inte när du öppnar en fil   ' med hjälp av Open-metoden.   XL.Workbooks("xlquery.xlam").RunAutoMacros 1   Set XL = Nothing End Sub				

Microsoft Office Excel 2003 och tidigare versioner av Excel

Sub LoadAddin()   ' Dimensionvariabel xl som objekttyp.   Dim xl As Object   ' Aktivera Microsoft Excel och tilldela variabel xl.   Set XL = CreateObject("Excel.Application")   ' Öppna önskad tilläggsfil. I det här exemplet används XLQUERY.XLA.   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLA")   ' Om du behöver registrera funktioner och kommandon   ' i en resurs (XLL), använder du RegisterXLL-metoden.   ' I exemplet nedan registreras alla funktioner i   ' Analys32.xll.   ' XL.RegisterXLL "Analys32.xll"   ' Kör automatiska makron i tilläggsfilen   ' Automatiska makron körs inte när du öppnar en fil   ' med hjälp av Open-metoden.   XL.Workbooks("xlquery.xla").RunAutoMacros 1   Set XL = Nothing End Sub				
Mer Information
Eftersom Excel inte läser in tillägg eller filer i mappen XLStart när du anropar den som ett OLE-automationsobjekt, har du fullständig kontroll över inläsningsprocessen. Om du vill att ett tillägg ska läsas in kan du läsa in det manuellt.

Detta funktionssätt innebär att inga makrofel, varningar för låsta filer eller varningar för skrivskyddade filer förhindrar att Excel läses in när det anropas med kommandot CreateObject. En annan fördel är att det går fortare att läsa in Excel än när tillägg eller filer läses in.
Referenser
Om du vill veta mer om hur du får hjälp för VBA (Visual Basic for Applications), klickar du på artikelnumret nedan och läser artikeln i Microsoft Knowledge Base:
226118 Lista med resurser som du kan använda för att lära dig programmera i VBA (Visual Basic for Applications) (Länken kan leda till en webbplats som är helt eller delvis på engelska)
personal.xls personal macro workbook XL2000 XL2002 XL2003 XL2007
Egenskaper

Artikel-id: 213489 – senaste granskning 09/18/2011 23:21:00 – revision: 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
Feedback