Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
452to456
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
452to456
452to456
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Speichern Unter - Rückgabewert

Speichern Unter - Rückgabewert
11.07.2004 16:49:48
Det
Hallo Excel-Spezis,
habe da ein Problem
Ist es möglich nach Betätigung der Button "Speichern" oder "Abbrechen" im Exceldialog "Speichern unter" einen Rückgabewert zu erhalten, welcher der beiden Button betätigt wurde.
Der Aufruf des Dialogs erfolgt aus einem Macro heraus und ist abhängig vom Dateinamen. Bei Betätigung des Buttons "Speichern" soll die Datei anschließend geschlossen werden, bei "Abbrechen" natürlich nicht. Da sich das ActiveWorkbook.Close Ereignis unmittelbar an die Ausführung des Dialogs anschließt möchte ich es bei "Abbrechen" abfangen.
Ich hab mal den Code angefügt

Sub Beih_Schließ()
Dim i As Integer
'On Error Resume Next
i = msgbox _
("Sollen Ihre Änderungen in ''" & ActiveWorkbook.Name & "'' gespeichert werden?", _
3 + 48, "Datei speichern?")
' Abbrechen
If i = 2 Then Exit Sub
' Schließen ohne speichern
If i = 7 Then
Application.DisplayFullScreen = False
ActiveWorkbook.Close savechanges:=False
Exit Sub
End If
' Schließen mit speichern
If i = 6 Then
Dim e As Integer, Workname, WorkNameNeu, pfad, _
LW, Laufw, str, persnum
Workname = ActiveWorkbook.Name
pfad = ActiveWorkbook.Path
persnum = Sheets("Antrag Seite 1").[b13]
'Speichern unter/in bestehemdem Namem/Verzeichnis
If ActiveWorkbook.Name <> "Beihilfe-Antrag.xls" Then GoTo 1:
'Speichernachfrage
If Workname = "Beihilfe-Antrag.xls" Then _
e = msgbox _
("Die Datei wird standardmäßig unter dem Namen Beihilfe-Antrag- und" & Chr(13) & _
"Ihrer Personal-/Versorgungsnummer (''Beihilfe-Antrag-" & persnum & ".xls'')" & Chr(13) & _
"im Verzeichnis der Grunddatei " & Chr(13) & _
"''" & pfad & "'' gespeichert" & Chr(13) & Chr(13) & _
"Sollten Sie dem zustimmen drücken Sie ''Ja''" & Chr(13) & Chr(13) & _
"Wenn Sie Dateiname und Speicherpfad selbst" & Chr(13) & _
"bestimmen möchten drücken Sie ''Nein''", 4 + 32, "Speichern unter")
If e = 7 Then
Debug.Print RunCommand(748) ' Datei speichern unter
ActiveWorkbook.Close savechanges:=False 'Da bereits unter neuem Namen gespeichert
Exit Sub
End If
'Speichern unter "Beihilfe-Antrag-PersNr. in bestehendem Verzeichnis
WorkNameNeu = "Beihilfe-Antrag-" & Sheets("Antrag Seite 1").[b13] & ".xls"
Laufw = Mid(pfad, 1, 3)
LW = Laufw
pfad = pfad
str = WorkNameNeu
ChDrive LW
ChDir pfad
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=str
Application.DisplayFullScreen = False
ActiveWorkbook.Close savechanges:=False
Exit Sub
1:
Application.DisplayFullScreen = False
ActiveWorkbook.Close savechanges:=True
End If
End Sub


Sub RunCommandTest()
Debug.Print RunCommand(748) ' Datei speichern unter
End Sub


Function RunCommand(lngID As Long)
Dim ctlTemp As CommandBarControl
Set ctlTemp = CommandBars.FindControl(ID:=lngID)
If ctlTemp Is Nothing Then
On Error Resume Next
With CommandBars.Add(Name:="Temp", Temporary:=True)
.Controls.Add ID:=lngID
.Controls(1).Execute
.Delete
End With
Else
ctlTemp.Execute
End If
RunCommand = (Err.Number = 0)
Application.DisplayFullScreen = False
End Function

Ich hoffe ihr könnt damit was angfangen und ho´ffe auf Hilfe.
Dank im voraus
Gruß Det

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern Unter - Rückgabewert
11.07.2004 17:39:49
Matthias
Hallo Det,
versuch' mal dies:
On Error Resume Next
ActiveWorkbook.SaveAs Filename:=str
MsgBox Err.Number
Gruß Matthias
AW: Speichern Unter - Rückgabewert
Det
Hallo Mathias,
danke für die Hilfe.
Leider ist mein Problem damit nicht gelöst.
Egal ob ich speichere oder abbreche, ich erhalte bei Deinem Vorschlag immmer den Fehler 1004. Ideal wäre, wenn mein Macro bei bei Betätigung des Buttons "Abbrechen" die Ausführung des Codes beendet wird (Exit Sub).
Gruß Det
AW: Speichern Unter - Rückgabewert
11.07.2004 21:18:36
Matthias
Hallo Det,
Sorry, ich hatte nicht richtig gelesen.
Mein neuer Vorschlag:

Sub test()
ActiveWorkbook.Saved = False
Application.Dialogs(xlDialogSaveAs).Show
If Not ActiveWorkbook.Saved Then MsgBox "nicht gespeichert!"
End Sub

Gruß Matthias
Anzeige
AW: Speichern Unter - Rückgabewert
Det
Hallo Matthias,
danke für die erneute Hilfe.
Habe leider keine Zeit täglich ins Forum zu schauen.
Werde deinen Tip sobald ích Zeit habe ausprobieren.
Liest sich aber sehr gut.
Gruß Det

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige