Err.Number = 5 obwohl kein Fehler aufgetreten ist

17/01/2009 - 17:40 von Thomas Wiedmann | Report spam
Hallo,

in einer VBA-Prozedur (VBA 6) innerhalb von Document_New eines
ThisDocument-Objekts hatte ich nach folgenden Statements einen merkwürdigen
Effekt beobachtet:

Documents.Open myFile
Debug.Print Err.Number & ": " Err.Description

myFile existiert und hat keinerlei Besonderheiten, also keinen Schreibschutz
oder sonst etwas, das vielleicht stören könnte.
myFile war auch nicht bereits geöffnet. myFile wird normal geöffnet, aber
merkwürdigerweise wird nach dem Documents.Open die Err.Number 5 mit der
Err.Description:
Ungültiger Prozeduraufruf oder ungültiges Argument
ausgegeben, ohne daß der Programmablauf mit einer Fehlermeldung hàngen
bleibt.

Woran liegt denn das, daß hier trotzdem ein Err-Objekt generiert wird, aber
kein Fehler generiert wird, der die Programmausführung anhàlt?

Ist an dem Documents.Open-Statement doch was faul? Es tut ja eigentlich, was
ich erwarte, nàmlich die angegebene Datei öffnen?

Noch zur Erlàuterung, falls sich jemand fragt, warum ich in Document_New ein
Documents.Open-Statement einbaue:
Ich brauche das hier, um bestimmte Inhalte aus der mit Documents.Open zu
öffnenden Datei in die mit Document_New neu zu erstellende Datei
rüberzukopieren.

Thomas Wiedmann
 

Lesen sie die antworten

#1 Lorenz H
18/01/2009 - 11:15 | Warnen spam
Hallo Thomas,

Thomas Wiedmann schrieb:

Documents.Open myFile
Debug.Print Err.Number & ": " Err.Description



Bei mir làuft das einwandfrei (WordXP).

Woran liegt denn das, da� hier trotzdem ein Err-Objekt generiert wird, aber
kein Fehler generiert wird, der die Programmausf�hrung anh�lt?


Ich habe folgende Vermutung:
- Dein Documents.Open hat doch mehr Argumente, als Du hier nennst oder
- der Fehler ist bereits vorher in Code aufgetreten, den Du hier nicht
gezeigt hast

Warum keine Meldung kommt? Kann es sein, dass Du vorher ein On Error
Resume Next geschrieben hast?

Da Du das Auslesen von Daten erlàuterst, nehme ich an, dass Du das
innerhalb dieser Prozedur machst. Davon sehe ich aber im Code nichts.
Es ist löblich, wenn Du Deinen Code für uns Leser vereinfachst, aber
bist Du sicher, dass der beschriebene Fehler so auftritt wie im
folgenden Code-Beispiel?

Private Sub Document_New()
Documents.Open "c:\MeinPfad\MeineDatei.doc"
MsgBox Err.Number
End Sub

tschö, Lorenz

http://www.cls-software.de/cls_soft...rdVBA.aspx

Ähnliche fragen