AW: Beschreibe genau: Event wird dann gecancelt (owT)
26.06.2018 07:28:12
earlycon
Guten Morgen zusammen,
zuerst einmal vielen Dank für Eure Hilfe.
Leider bin ich bisher nicht weiter gekommen. Die Datei wird nach wie vor zwar gespeichert, aber eben nicht unter dem unter GetSaveAs vergebenen Dateinamen. Wenn ich auf das Diskettensymbol klicke, funktioniert der Code und die Datei wird unter dem neuen Namen gespeichert. Ich poste nachfolgend mal den Code dafür, vielleicht fällt Euch im Zusammenhang noch ein Fehler auf. Ich verstehe es einfach nicht.
Besten Dank und viele Grüße
Stefan
Sub Speichern() ' (Dieses Sub wird über einen Button gestartet und ruft die BeforeSave auf)
ThisWorkbook.Save
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim strFileName As String, strInitialName As String
On Error GoTo Errorhandler
Cancel = True
strFileName = Application.GetSaveAsFilename(strInitialName, _
"Excel Arbeitsmappe (*.xlsx),*.xlsx," & _
"Excel Arbeitsmappe mit Makros (*.xlsm),*.xlsx," & _
"Excel 97-2003 Arbeitsmappe (*.xls),*.xls", 2, "Speichern unter") '
If strFileName = "Falsch" Then ' Abbrechen gedrückt
Sheets("Formular").Shapes("Speichern").TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(92, _
195, 55)
Sheets("Formular").Shapes("Gespeichert").Visible = False
Sheets("Formular").Shapes("Normal_speichern").Visible = False
Cancel = True: Application.EnableEvents = True
Exit Sub
Else
Sheets("Formular").Shapes("Gespeichert").Visible = True
Sheets("Formular").Shapes("Normal_speichern").Visible = True
Sheets("Formular").Shapes("Speichern").TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(255, _
204, 0)
Application.EnableEvents = False
ThisWorkbook.SaveAs Filename:=strFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End If
Application.EnableEvents = True
Exit Sub
Errorhandler:
Cancel = True
Sheets("Formular").Shapes("Speichern").TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(255, _
255, 255) ' Weiß
MsgBox "Es ist ein Fehler aufgetreten !", vbCritical, "Achtung !"
End Sub