Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
700to704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
700to704
700to704
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Speichern, Error-Abfragen und Laufzeitfehler
28.11.2005 19:55:39
adriano.
hallo zusammen,
vielleicht kann mir jemand helfen ?
die situation :
eine datei, welche per makro mit dem aktuellen datum
gespeichert wird. wenn die datei bereits vorhanden
ist, erscheint die normale meldung, ob man die datei
überschreiben möchte. wählt man nein, erscheint eine
inputbox, in welche man einen neuen dateinamen eingeben
kann. wählt man hier abbrechen, wird auf eine fehler-
routine verwiesen namens speichernerror:. soweit, sogut.
das problem :
wenn ich in der inputbox einen dateinamen angebe, welcher
ebenfalls vorhanden ist, mich excel dann fragt ob ich
überschreiben möchte, ich dies mit "nein" oder "abbrechen"
beantworte, bekomme ich einen hässlichen laufzeitfehler
1004. ich weiss nicht, ob ich dies mit einer "on error"-
abfrage handhaben muss oder anders. sämtliche versuche,
den fehler ebenfalls auf "speichernerror" umzuleiten, schlugen
fehl.
Untenstehend findet ihr den betreffenden auszug aus dem script.
ich danke ganz herzlich für jede hilfe.
Grüsse,
adriano.
----------------------------------------------------------------

DatumSpeichern:
'-- Dateiname Abfragen
Dateiname = InputBox("Bitte neuen Dateinamen (z.B. Datum-2) eingeben.", "Dateiname angeben", Datum)
If Dateiname = "" Then GoTo SpeichernError
'-- Speichern mit neuem Dateinamen
On Error GoTo SpeichernError
ActiveWorkbook.SaveAs Filename:=Arbeitspfad & Dateiname & ".xls", _
FileFormat:=xlNormal, _
Password:="", _
WriteResPassword:="", _
ReadOnlyRecommended:=False, _
CreateBackup:=False
MsgBox ("Datei wurde als " & Dateiname & ".xls abgespeichert.")
GoTo Abschluss

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern, Error-Abfragen und Laufzeitfehler
29.11.2005 08:23:51
Stefan
Hallo Adriano,
wie wäre es damit:

Sub test()
dim blnFehler as boolean
blnFehler = Application.Dialogs(xlDialogSaveAs).Show
End Sub

Über blnFehler kannst Du abfragen, ob eine Speicherung erfolgte oder nicht.
Gruß Stefan.
AW: Speichern, Error-Abfragen und Laufzeitfehler
29.11.2005 09:39:43
adriano.
danke für den hinweis, jedoch verstehe ich nicht
ganz, wie ich das ganze für meine situation anwenden soll.
Application.Dialogs(xlDialogSaveAs).Show zeigt mir dann
das dialog-feld zum speichern, was ich ja eigentlich nicht
benötige oder wie siehst du den zusammenhang zu meinem
problem ?
adriano.
Anzeige
AW: Speichern, Error-Abfragen und Laufzeitfehler
29.11.2005 17:44:54
Stefan
Hallo Adriano,
wie ich die Sache verstanden habe, willst Du doch eigentlich nur die Datei unter einem vom Benutzer einzugebenden Namen speichern, oder? Das macht der genannte Dialog.
Gruß Stefan.
AW: Speichern, Error-Abfragen und Laufzeitfehler
29.11.2005 23:03:01
adriano.
hallo stefan,
das abspeichern unter einem vom benutzer eingegebenen
namen funktioniert soweit problemlos mit der inputbox;
das problem tritt nun auf, wenn es schon eine datei gibt
mit dem eingebenen namen, dann fragt excel nochmals, ob
man diese datei überschreiben möchte. klicke ich dann auf
"nein" oder "abbrechen", erscheint der laufzeitfehler -
und dies möchte ich abfangen und umlenken.
und hier habe ich schon verschiedene versuche gemacht wie
z.b. on error ... und nichts hat bisher geklappt.
danke für die hilfe,
adriano.
Anzeige
AW: Speichern, Error-Abfragen und Laufzeitfehler
30.11.2005 08:20:25
Stefan
Hallo Adriano,
was steht denn in Deinem Script bei der Marke "SpeichernError:"? Aus dem geposteten Code kann ich die Struktur der Fehlerbehandlung nicht erkennen.
Gruß Stefan.
AW: Speichern, Error-Abfragen und Laufzeitfehler
30.11.2005 09:22:15
adriano
bei speichernerror habe ich nichts spezielles zur error-routine
drin, nur eine fehlermeldung und der verweis auf erneutVersuchen:
diese beendet das aktuell erstellte blatt ohne zu speichern,
aktiviert ein anderes file, setzt den zoom etc.
hier der code :

ErneutVersuchen:
ThisWorkbook.Saved = True
ActiveWorkbook.Close False
ActiveWindow.Zoom = 100
Windows(Artikellistendatei).Activate
Range("A1").Select
Selection.AutoFilter Field:=3
Application.DisplayFullScreen = False
Exit Sub
SpeichernError:
MsgBox ("Speichervorgang war nicht erfolgreich." & vbCrLf & "Bitte versuchen Sie es erneut, bzw. ändern Sie allenfalls den eingegebenen Dateinamen")
GoTo ErneutVersuchen
Exit Sub

Anzeige
AW: Speichern, Error-Abfragen und Laufzeitfehler
30.11.2005 10:01:22
Stefan
Hallo Adriano,
mit On Error Goto SpeichernError wurde der Errorhandler umgebogen. Es ist dringend zu empfehlen, diesen wieder zurückzusetzen mit On Error Goto 0. Ansonsten würde bei allen nachfolgenden, irgendwo auftauchenden Fehlern Deine Fehlermeldung erscheinen und Du würdest Dich totsuchen.
mit On Error Goto kann ein Fehler abgefangen werden. Wird dieser Fehler nicht korrekt abgearbeitet (mindestens: zurückgesetzt), so kann ein erneuter Fehler nicht mehr abgefangen werden (Was bei Dir der Fall ist).
Pass Dein Script also wie folgt an:
1) Vor "MsgBox ("Datei wurde als " & Dateiname & ".xls abgespeichert.")" füge die Zeile "On Error Goto 0" ein.
2) Bei "SpeichernError:" füge ein: "Err.Clear" (setzt den Fehlerstatus zurück) und als nächste Zeile: "On Error Goto 0".
Gruß Stefan.
Anzeige
AW: Speichern, Error-Abfragen und Laufzeitfehler
01.12.2005 20:09:57
adriano.
hallo stefan,
besten dank für deine error-erklärungen. langsam komme ich dahinter,
doch verstehe ich den unterschied zwischen "on error goto 0" und
"err.clear" noch nicht ganz, bzw. wann was benutzt wird.
ich habe das script nun angepasst, doch funktioniert dieses noch immer
nicht und ich bekomm den alten laufzeitfehler 1004.
hier der überarbeitete auszug :

'Speichern mit Datum
On Error GoTo DatumSpeichern
ActiveWorkbook.SaveAs Filename:=Arbeitspfad & Dateiname & ".xls", _
FileFormat:=xlNormal, _
Password:="", _
WriteResPassword:="", _
ReadOnlyRecommended:=False, _
CreateBackup:=False
MsgBox ("Datei wurde als " & Dateiname & ".xls abgespeichert.")
On Error GoTo 0
GoTo Abschluss
DatumSpeichern:
'Speichern mit eingegebenem Dateinamen
'Dateiname Abfragen
On Error GoTo SpeichernError
Dateiname = InputBox("Bitte neuen Dateinamen (z.B. Datum-2) eingeben.", "Dateiname angeben", Datum)
If Dateiname = "" Then GoTo SpeichernError
'Speichern mit neuem Dateinamen
ActiveWorkbook.SaveAs (Arbeitspfad & Dateiname & ".xls")
On Error GoTo 0
MsgBox ("Datei wurde als " & Dateiname & ".xls abgespeichert.")
GoTo Abschluss
Abschluss:
'Zoom auf 100 setzen
ActiveWindow.Zoom = 100
Application.DisplayFullScreen = False
'Mail senden
Mail_Empfaenger = "meine@adresse.de"
Mail_Betreff = "Warenbestellung : Datei " & Dateiname & ".xls"
Application.Dialogs(xlDialogSendMail).Show Mail_Empfaenger, Mail_Betreff
'File schliessen
ActiveWorkbook.Close
'File mit Artikelliste schliessen
Windows(Artikellistendatei).Activate
SpeichernError:
Err.Clear
On Error GoTo 0
MsgBox ("Speichervorgang war nicht erfolgreich." & vbCrLf & "Bitte versuchen Sie es erneut, bzw. ändern Sie allenfalls den eingegebenen Dateinamen")
GoTo ErneutVersuchen
Exit Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige