Du er offline. Venter på, at der oprettes forbindelse til internettet igen

Tilføjelsesprogrammer indlæses ikke med kommandoen CreateObject i Excel

Symptomer
Når du åbner Microsoft Excel som et OLE Automation-objekt med kommandoen CreateObject, indlæses tilføjelsesprogrammer, filer, der findes i mappen XLStart, og den nye standardprojektmappe ikke.
Årsag
Når du forsøger at indlæse tilføjelsesprogrammer og filer, sender Excel en meddelelses til det kaldende program, f.eks. Visual Basic, at det ikke er klar til at besvare anmodningen og om at forsøge igen senere. Det kaldende program kan muligvis ikke håndtere denne anmodning og fortsætter med resten af kommandoerne.
Workaround
Microsoft leverer kun programmeringseksempler som illustration – uden nogen form for garanti, det være sig udtrykkelig eller underforstået. Dette omfatter, men er ikke begrænset til, det underforståede ansvar for salgbarhed eller egnethed til bestemte formål. Det forudsættes i denne artikel, at du kender det anvendte programmeringssprog samt de værktøjer, der anvendes til at oprette og foretage fejlfinding af procedurer. Microsofts supportteknikere kan hjælpe med at forklare funktionaliteten i forbindelse med en bestemt procedure. De vil dog ikke ændre eksemplerne, så de giver ekstra funktionalitet, eller oprette procedurer, der passer specielt til dine behov.

Hvis du vil indlæse en tilføjelsesprogramfil, når du kører Excel som et OLE Automation-objekt, skal du indlæse tilføjelsesprogrammet manuelt. Følgende er eksempler på denne metode.

Microsoft Office Excel 2007

Sub LoadAddin()   ' Dimensionsvariabel xl som objekttype.   Dim xl As Object   ' Aktivér Microsoft Excel, og tildel til variabel xl.   Set XL = CreateObject("Excel.Application")   ' Åbn den ønskede tilføjelsesfil. I dette eksempel XLQUERY.XLAM.   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLAM")   ' Hvis du skal registrere de funktioner og kommandoer,   ' der er indeholdt i en ressource (XLL), skal du bruge metoden RegisterXLL.   ' I eksemplet nedenfor er alle funktioner i Analys32.xll   ' registrerede.   ' XL.RegisterXLL "Analys32.xll"   ' Kør alle automatiske makroer i tilføjelsesfilen   ' Automatiske makroer kører ikke, når du åbner en fil   ' ved hjælp af metoden Open.   XL.Workbooks("xlquery.xlam").RunAutoMacros 1   Set XL = Nothing End Sub				

Microsoft Office Excel 2003 og ældre versioner af Excel

Sub LoadAddin()   ' Dimensionsvariabel xl som objekttype.   Dim xl As Object   ' Aktivér Microsoft Excel, og tildel til variabel xl.   Set XL = CreateObject("Excel.Application")   ' Åbn den ønskede tilføjelsesfil. I dette eksempel XLQUERY.XLA.   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLA")   ' Hvis du skal registrere de funktioner og kommandoer,   ' der er indeholdt i en ressource (XLL), skal du bruge metoden RegisterXLL.   ' I eksemplet nedenfor er alle funktioner i Analys32.xll   ' registrerede.   ' XL.RegisterXLL "Analys32.xll"   ' Kør alle automatiske makroer i tilføjelsesfilen   ' Automatiske makroer kører ikke, når du åbner en fil   ' ved hjælp af metoden Open.   XL.Workbooks("xlquery.xla").RunAutoMacros 1   Set XL = Nothing End Sub				
Yderligere Information
Da Excel ikke indlæser tilføjelsesprogrammer eller filer i mappen XLStart, når du kalder det som et OLE Automation-objekt, har du fuldstændig kontrol over indlæsningsprocessen. Hvis du vil indlæse et tilføjelsesprogram, kan du indlæse det manuelt.

Denne funktionsmåde betyder også, at der ikke er nogle makrofejl, låste filadvarsler eller skrivebeskyttelsesadvarsler, der forhindrer Excel i at indlæse, når det bliver kaldt af kommandoen CreateObject. En anden fordel ved denne funktionsmåde er, at det ikke tager lang tid at indlæse Excel, som når tilføjelsesprogrammer eller filer er indlæst.
Referencer
Du kan finde flere oplysninger om, hvordan du kan få hjælp til Visual Basic for Applications, ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
226118 Liste over tilgængelige ressourcer, du kan bruge til at lære Visual Basic for Applications-programmering. Artiklen er evt. på engelsk.
personal.xls personal macro workbook XL2000 XL2002 XL2003 XL2007
Egenskaber

Artikel-id: 213489 – Seneste udgave 09/18/2011 23:16:00 – Udgave 2.0

Microsoft Office Excel 2007, Microsoft Excel 2002 Standard, Microsoft Excel 2000 Standard, Microsoft Excel 97 Standard

  • kbautomation kbvba kbexpertiseinter kbdtacode kbprb kbprogramming KB213489
Feedback