Artikel-id: 213489 - Få vist de produkter, som denne artikel refererer til.
Udvid alle | Skjul alle

På denne side

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.

Egenskaber

Artikel-id: 213489 - Seneste redigering: 18. september 2011 - Redigering: 2.0
Oplysningerne i denne artikel gælder:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard
  • Microsoft Excel 2000 Standard
  • Microsoft Excel 97 Standard
Nøgleord: 
kbautomation kbvba kbexpertiseinter kbdtacode kbprb kbprogramming KB213489

Send feedback

 

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