FEHLER: Fehlermeldung "Altes Format oder ungültige Typbibliothek" bei Automatisierung von Excel

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 320369 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
320369 BUG: "Old format or invalid type library" error when automating Excel
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Wenn Sie Microsoft Excel mit Microsoft Visual Basic .NET, Microsoft Visual C# .NET oder Microsoft Visual C++ automatisieren, kann beim Aufruf bestimmter Methoden folgende Fehlermeldung angezeigt werden:
Fehler: 0x80028018 (-2147647512)
Beschreibung: Altes Format oder ungültige Typbibliothek

Ursache

Dieser Fehler tritt beim Aufruf einer Excel-Methode auf, wenn die folgenden Bedingungen zutreffen:
  • Die Methode erfordert einen Gebietsschemabezeichner.
  • Sie arbeiten mit einer englischen Version von Excel. Die regionalen Einstellungen für den Computer sind jedoch für eine andere Sprache konfiguriert.
Wenn auf dem Clientcomputer die englische Version von Excel ausgeführt wird und das Gebietsschema für den aktuellen Benutzer für eine andere Sprache konfiguriert ist, versucht Excel, das Sprachpaket für die konfigurierte Sprache zu finden. Wenn das Sprachpaket nicht gefunden wird, wird der Fehler gemeldet.

Abhilfe

Sie können eine der folgenden Methoden anwenden, um dieses Problem zu umgehen:
  • Installieren Sie das Multilingual User Interface Pack für Ihre Office-Version.
  • Führen Sie die Excel-Methode oder -Eigenschaft mit InvokeMember aus, damit Sie die CultureInfo für den Aufruf angeben können. Der folgende Code zeigt z. B., wie Sie die Methode Add des Objekts Workbooks mit "en-US" als CultureInfo aufrufen können:
    Dim oApp As New Excel.Application()
    oApp.Visible = True
    oApp.UserControl = True
    Dim oBooks As Object = oApp.Workbooks
    Dim ci As System.Globalization.CultureInfo = New System.Globalization.CultureInfo("en-US")
    oBooks.GetType().InvokeMember("Add", Reflection.BindingFlags.InvokeMethod, Nothing, oBooks, Nothing, ci)
    
  • Oder stellen Sie die CultureInfo vor dem Aufruf der Excel-Methode ein. Beispiel:
    Dim oApp As New Excel.Application()
    oApp.Visible = True
    oApp.UserControl = True
    Dim oldCI As System.Globalization.CultureInfo = _
        System.Threading.Thread.CurrentThread.CurrentCulture
    System.Threading.Thread.CurrentThread.CurrentCulture = _
        New System.Globalization.CultureInfo("en-US")
    oApp.Workbooks.Add()
    System.Threading.Thread.CurrentThread.CurrentCulture = oldCI

Wenn Sie eine dieser Umgehungsmöglichkeiten bei einem Computer verwenden, auf dem die regionalen Einstellungen nicht der aktuellen Sprachversion von Office entsprechen, sollten Sie damit vertraut sein, wie sich Excel verhält und wie es Daten interpretiert, die für ein bestimmtes Gebietsschema formatiert sein könnten. Weitere Informationen zur Erstellung von globalisierten Excel-Lösungen mit Visual Studio .NET finden Sie in folgenden MSDN-Artikeln:

Creating Office Solutions for Use in Multiple Countries/Regions (Erstellen von Office-Lösungen für die Verwendung in mehreren Ländern/Regionen)
http://msdn2.microsoft.com/en-us/library/aa168494(office.11).aspx
Globalization and Localization Issues for Solutions Created with Microsoft Visual Studio Tools for the Microsoft Office System (Globalisierungs- und Lokalisierungsaspekte bei Lösungen, die mit Microsoft Visual Studio-Tools für das Microsoft Office-System erstellt werden)
http://msdn2.microsoft.com/en-us/library/aa192494(office.11).aspx

Status

Microsoft hat bestätigt, dass es sich hierbei um einen Bug bei den Microsoft-Produkten handelt, die unter "Die Informationen in diesem Artikel beziehen sich auf" aufgeführt sind.

Weitere Informationen

Schritte zum Reproduzieren des Verhaltens

  1. Vergewissern Sie sich, dass das Gebietsschema für den Computer auf eine andere Sprache als Englisch eingestellt ist.

    Windows 2000:
    1. Doppelklicken Sie in der Systemsteuerung auf Regionale Einstellungen.
    2. Wählen Sie auf der Registerkarte Allgemein einen Standort aus, und klicken Sie auf OK.
    Windows XP oder Windows Server 2003:
    1. Doppelklicken Sie in der Systemsteuerung auf Regions- und Sprachoptionen.
    2. Wählen Sie auf der Registerkarte Regionale Einstellungen ein Gebietsschema aus, und klicken Sie auf OK.
  2. Starten Sie Microsoft Visual Studio .NET.
  3. Zeigen Sie im Menü Datei auf Neu, und klicken Sie auf Projekt. Klicken Sie im Dialogfeld Neues Projekt unter Projekttyp auf Visual Basic-Projekte. Klicken Sie unter Vorlagen auf Windows-Anwendung und anschließend auf OK. Standardmäßig wird jetzt Form1 erstellt.
  4. Klicken Sie im Menü Ansicht auf Toolbox, und fügen Sie zu Form1 eine Schaltfläche hinzu.
  5. Doppelklicken Sie auf Button1, um das Codefenster für das Formular anzuzeigen.
  6. Ersetzen Sie im Codefenster den folgenden Code
    Private Sub Button1_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) _
                              Handles Button1.Click
    End Sub
    					
    durch:
    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 = Nothing
    End Sub
    					
  7. Fügen Sie die folgende Zeile am Anfang des Codemoduls Form1 hinzu:
    Option Strict Off
  8. Drücken Sie die Taste [F5], um das Programm erstellen und ausführen zu lassen.
  9. Klicken Sie auf Button1, um den Fehler zu erzeugen. Der Fehler tritt in der folgenden Zeile auf:
    oDoc = oApp.Workbooks.Add
    					

Informationsquellen

Weitere Informationen zur Office-Automatisierung finden Sie auf der Microsoft-Website "Office Development":
http://support.microsoft.com/ofd
Informationen finden Sie außerdem in folgenden Artikeln der Microsoft Knowledge Base:
301982 Automatisieren von Microsoft Excel mit Visual Basic .NET
302084 Microsoft Excel mit Microsoft Visual C# .NET automatisieren

Eigenschaften

Artikel-ID: 320369 - Geändert am: Montag, 25. Juni 2007 - Version: 8.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • 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
Keywords: 
kbvs2002sp1sweep kbautomation kbbug kbpending KB320369
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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