Code vbs

Bild

Betrifft: Code vbs
von: harald
Geschrieben am: 14.04.2005 16:11:05
Hallo!
Habe folgendes geschrieben
existfile_Path = savepath & saveform 'Filepfad zum Überprüfen ob File existiert
Set objFileSys = Wscript.CreateObject("Scripting.FilesystemObject")
If objFileSys.FileExists(existfile_Path) then 'Überprüfen ob File existiert


'********File vorhanden, nur editieren******
Set Exsheet = wscript.CreateObject("Excel.Application") 'Excel Application kreieren

On Error Resume next
Set test = Exsheet.Workbooks.Item("C:\temp\test.xls")


If Err.Number <> 0 then
wscript.echo " alles nicht geöffnet"
wscript.quit
Exsheet.quit
Else
wscript.echo "geöffnet"
wscript.quit
Exsheet.quit
End If

On Error GoTo 0
Will hier überprüfen ob file geöffnet ist! Wenn nicht geöffnet soll fehler kommen!
Wenn geöffnet dann nicht!
Ich bekomme immer einen Fehler!
Bitte um Hilfe!
mfg
Harald

Bild

Betrifft: AW: Fehlerbehandlung in VBA
von: Luc
Geschrieben am: 15.04.2005 09:25:05
Hallo Harald,
dein programm ist ein bisschen durcheinander, deshalb kommt immer Fehler. Du musst dir mal einen Programmablaufplan (PAP) machen, aus dem eindeutig hervorgeht, was das Programm an welcher Stelle wie machen soll. Ich sehe hier 2 Handlungsstränge:
1. kein Fehler: das Pgm macht das was es soll und kommt zum Ende ohne an den Fehlerbehandlungen vorbeizukommen
2. Fehler: das Pgm geht direkt zur Fehlerbehandlung und endet dann, also nicht onError resume next (da macht es einfach weiter), sondern onError goto marke
Wenn du vor die Markenzeile den Befehl Exit sub setzt, endet hier das Pgm bei Fall 1. Der onError-Befehl steht immer als erster nach den dim-Zeilen. OnError goto 0 ist idR verzichtbar, wenn erforderlich, dann als 1. bzw letzter Befehl.
Wenn du dein Pgm so umbaust, sollte es fkt., vorausgesetzt, es existiert nicht noch ein inhaltlicher Fehler (habe ich nicht überprüft).
Gruß Luc :-?
 Bild

Beiträge aus den Excel-Beispielen zum Thema "automatisches Überprüfung der Felder"