Automatisierungsfehler (Fehler 440)

Bild

Betrifft: Automatisierungsfehler (Fehler 440) von: BilboB
Geschrieben am: 16.03.2005 13:44:27

Hallo,
hab ein Problem mit mit den Versionen 2000 und 2003. Hab ein Dokument welches mit 2000 erstellt wurde und Makros beinhaltet. Wenn ich diese Datei mit 2003 öffnen möchte bekomme ich den Fehler "Automatisierungsfehler (Fehler 440)" angezeigt. Diesen kann ich beheben indem ich das Projekt zurücksetze, alles speichere und neu öffne. Bei zurücksetzen erscheint neben "VBAProject" im Projektexplorer der Dateiname, weiß nicht ob das vorherige Fehlen den Fehler verursacht hat. Wenn ich die Datei allerdings wieder mit 2000 öffnen möchte erscheint nun hier der Fehler "Automatisierungsfehler (Fehler 440)". Woher kann der Fehler nun kommen, und wie kann ich das Dokument für beide Versionen nutzbar machen?

Bild


Betrifft: AW: Automatisierungsfehler (Fehler 440) von: Nepumuk
Geschrieben am: 16.03.2005 14:18:28

Hallo BilboB,

sollen wir raten was da schief läuft?

Die MSDN - Library sagt dazu folgendes:

Automatisierungsfehler (Fehler 440)

Wenn Sie auf Automatisierungsobjekte zugreifen, können bestimmte Fehler auftreten. Für diesen Fehler gibt es die folgende Ursache und Lösung:

Während der Ausführung einer Methode oder beim Abrufen bzw. Festlegen einer Eigenschaft einer Objektvariablen ist ein Fehler aufgetreten. Der Fehler wurde von der Anwendung gemeldet, die dieses Objekt erstellt hat.
Überprüfen Sie die Eigenschaften des Err-Objekts, um Ursache und Art des Fehlers bestimmen zu können. Versuchen Sie auch, vor der Zugriffsanweisung die On Error Resume Next-Anweisung zu verwenden, und überprüfen Sie dann unmittelbar nach der Zugriffsanweisung, ob Fehler aufgetreten sind.

Weitere Informationen erhalten Sie, wenn Sie das fragliche Element auswählen und F1 (unter Windows) oder HILFE (beim Macintosh) drücken.

Wird der Fehler auch erzeugt, wenn du die Mappe mit deaktivierten Makros öffnest?

Gruß
Nepumuk


Bild


Betrifft: AW: Automatisierungsfehler (Fehler 440) von: BilboB
Geschrieben am: 16.03.2005 14:41:58

Wenn die Makros gesperrt sind bekomme ich keine Fehlermeldung. Kann es an der unten aufgeführten Funktion liegen, dass der Fehler kommt? Ich vermute, dass bei AddressLocal nicht klar ist, welches Dokument gemeint ist, das es ja im Projektexplorer nicht neben VBAProject angegeben ist.


Function a(zelle) As String
a = zelle.AddressLocal()
End Function



Bild


Betrifft: AW: Automatisierungsfehler (Fehler 440) von: Nepumuk
Geschrieben am: 16.03.2005 14:49:40

Hallo BilboB,

versuch es mal so. Ich kann das nicht testen da ich nur eine Excelversion auf meinem Rechner habe.


Public Function a(zelle As Range) As String
    a = zelle.AddressLocal()
End Function


Gruß
Nepumuk


Bild


Betrifft: AW: Automatisierungsfehler (Fehler 440) von: Bilbob
Geschrieben am: 17.03.2005 14:45:39

Hallo,
erst mal vielen Dank für die Hilfe, es funktioniert. Jetzt würd mich aber auch noch interessieren wieso?


Bild


Betrifft: AW: Automatisierungsfehler (Fehler 440) von: Nepumuk
Geschrieben am: 17.03.2005 15:01:23

Hallo BilboB,

mit der Variablen Zelle erstellst du einen Objektverweis auf ein Range - Objekt. Die sind in den verschiedenen Versionen unterschiedlich. Wenn du keine Dimension angibst, wird die Variable als Variant angelegt. Wenn du nun die Mappe in einer anderen Version öffnest, werden die Objekte neu angelegt. Bei Verwendung einer Range - Variablen wird auch diese dem neuen Objekt angepasst. Der Variant bleibt aber ein Variant und wird nicht angepasst. Darum passen sie nicht mehr zusammen.

Gruß
Nepumuk


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Automatisierungsfehler (Fehler 440)"