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

Fejl: Fejlmeddelelsen "Gammelt format eller ugyldig type-DLL" vises, når Excel automatiseres

Support til Office 2003 er ophørt

Microsoft ophørte med at yde support til Office 2003 den 8. april 2014. Denne ændring har haft indflydelse på dine softwareopdateringer og sikkerhedsindstillinger. Se, hvad det betyder for dig, og hvordan du kan forblive beskyttet.

Symptomer
Hvis du automatiserer Microsoft Excel med Microsoft Visual Basic .NET, Microsoft Visual C# .NET eller Microsoft Visual C++, vises følgende fejlmeddelelse muligvis, når du kalder visse metoder:
Fejl: 0x80028018 (-2147647512)
Beskrivelse: Gammelt format eller ugyldig type-DLL
Årsag
Denne fejlmeddelelse vises, når du kalder en Excel-metode, og følgende betingelser gør sig gældende:
  • Metoden kræver et LCID (landestandard-id).
  • Du kører en engelsk version af Excel. Men computerens internationale indstillinger er konfigureret til et andet sprog end engelsk.
Hvis klientcomputeren kører den engelske version af Excel, og landestandarden for den aktuelle bruger er konfigureret til et andet sprog end engelsk, vil Excel forsøge at finde sprogpakken til det konfigurerede sprog. Hvis sprogpakken ikke bliver fundet, rapporteres fejlen.
Workaround
Du kan løse problemet ved at benytte én af følgende metoder:
  • Installer den MUI-pakke (Multilingual User Interface Pack), der passer til din version af Office.
  • Kør Excel-metoden eller -egenskaben ved hjælp af InvokeMember, så du kan angive CultureInfo for kaldet. Følgende kode illustrerer f.eks., hvordan du kan aktivere metoden Tilføj under objektet Projektmapper ved at angive "en-US" under CultureInfo:
    Dim oApp As New Excel.Application()oApp.Visible = TrueoApp.UserControl = TrueDim oBooks As Object = oApp.WorkbooksDim ci As System.Globalization.CultureInfo = New System.Globalization.CultureInfo("en-US")oBooks.GetType().InvokeMember("Add", Reflection.BindingFlags.InvokeMethod, Nothing, oBooks, Nothing, ci)
  • Eller angiv CultureInfo, inden du kalder Excel-metoden. F.eks.:
    Dim oApp As New Excel.Application()oApp.Visible = TrueoApp.UserControl = TrueDim oldCI As System.Globalization.CultureInfo = _    System.Threading.Thread.CurrentThread.CurrentCultureSystem.Threading.Thread.CurrentThread.CurrentCulture = _    New System.Globalization.CultureInfo("en-US")oApp.Workbooks.Add()System.Threading.Thread.CurrentThread.CurrentCulture = oldCI

Når du benytter en af disse løsninger på en computer, hvor de internationale indstillinger ikke svarer til den aktuelle sprogversion af Office, skal du vide, hvordan Excel fungerer, og hvordan Excel fortolker data, der eventuelt er formateret til en specifik landestandard. Du kan finde flere oplysninger om, hvordan du skriver globaliserede Excel-løsninger med Visual Studio .NET, i følgende artikler i MSDN:

Creating Office Solutions for Use in Multiple Countries/Regions Globalization and Localization Issues for Solutions Created with Microsoft Visual Studio Tools for the Microsoft Office System
Status
Microsoft har bekræftet, at denne fejl forekommer i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Yderligere Information

Trin til genskabelse af funktionsmåden

  1. Kontroller, at landestandarden for computeren er angivet til et andet sprog end engelsk.

    Windows 2000:
    1. Dobbeltklik på Internationale indstillinger i Kontrolpanel i Windows.
    2. Vælg en placering under fanen Generelt, og klik derefter på OK.
    Windows XP eller Windows Server 2003:
    1. Åbn Internationale og sproglige indstillinger i Kontrolpanel.
    2. Vælg en landestandard under fanen Internationale indstillinger, og klik derefter på OK.
  2. Start Microsoft Visual Studio .NET.
  3. Peg på Ny i menuen Filer, og klik derefter på Projekt. Klik på Visual Basic-projekt under Projekttype i dialogboksen Nyt projekt. Klik på Windows-program under Skabeloner, og klik derefter på OK. Som standard oprettes Form1.
  4. Klik på Værktøjskasse i menuen Vis, og føj derefter en knap til Form1.
  5. Dobbeltklik på Button1 for at få vist kodevinduet for formularen.
  6. Erstat følgende kode i kodevinduet
    Private Sub Button1_Click(ByVal sender As System.Object, _                          ByVal e As System.EventArgs) _                          Handles Button1.ClickEnd Sub					
    med:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click    Dim oApp As Object    Dim oDoc As Object    oApp = CreateObject("Excel.Application")    oApp.Visible = True    oDoc = oApp.Workbooks.Add    oDoc.Close()    oApp.Quit()    oDoc = Nothing    oApp = NothingEnd Sub					
  7. Føj følgende linje til begyndelsen af kodemodulet Form1:
    Option Strict Off
  8. Tryk på F5 for at bygge og køre programmet.
  9. Klik på Button1 for at generere fejlen. Fejlen forekommer i den linje, der lyder som følger:
    oDoc = oApp.Workbooks.Add					
Referencer
Du kan finde flere oplysninger om Office-automatisering på webstedet til Microsoft Office Development: Se desuden følgende artikler i Microsoft Knowledge Base:
301982 Sådan automatiseres Microsoft Excel fra Visual Basic .NET. Artiklen er evt. på engelsk.
302084 Sådan automatiseres Microsoft Excel fra Microsoft Visual C# .NET. Artiklen er evt. på engelsk.
XL2003 XL2007
Egenskaber

Artikel-id: 320369 – Seneste udgave 11/23/2007 12:10:30 – Udgave 8.3

Microsoft Office Excel 2007, Microsoft Office Excel 2003, Microsoft Excel 2002 Standard, Microsoft Visual Basic .NET 2002 Standard, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual C++ 6.1, Microsoft Visual J# .NET 2003 Standard Edition, Microsoft Visual Studio Tools for the Microsoft Office System version 2003

  • kbvs2002sp1sweep kbautomation kbbug kbpending KB320369
Feedback
tml> tps://c1.microsoft.com/c.gif?DI=4050&did=1&t=">&t=">>body>