18.10.2019, 11:45
Hallo an alle Excel Experten,
ich habe ein für mich unlösbares Problem von einem Kollegen erhalten.
Ich soll eine Excel Datei in den Format mit Makro und ohne Makro speichern. Das habe ich mit einem Makro gemacht.
Sub speziellesspeichern()
Dim name As String
ChDir ActiveWorkbook.Path 'Änderung des Hauptpfades
name = InputBox("Dateinamen eingeben", "spezielles Speichern", ActiveWorkbook.name)
Debug.Print name
Debug.Print Right(name, 5)
If name = "" Then '///"" ist abbrechen in inputbox
Exit Sub
End If
If Left(Right(name, 5), 1) = "." Or Left(Right(name, 4), 1) = "." Or Left(Right(name, 3), 1) = "." Or _
Left(Right(name, 2), 1) = "." Or Left(Right(name, 2), 1) = "." Or name = "." Then
MsgBox ("Der Dateiname darf keine Endung haben! Zb. 'Versuch.xls' ist verboten!")
speziellesspeichern
Exit Sub
End If
dataname = ActiveWorkbook.Path & "\" & name
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=dataname, FileFormat:=xlWorkbookDefault 'ohne Makro
ActiveWorkbook.SaveAs Filename:=dataname, FileFormat:=xlOpenXMLWorkbookMacroEnabled 'mit Makro
Application.DisplayAlerts = True
MsgBox ("Speichern war erfolgreich. Gespeichert in: " & dataname)
End Sub
Leider ist die Lösung mit dem "Dateinamen ohne Punkt" eher schlecht gelungen und am liebsten hätte mein Kollege das so :
"Es soll ganz einfach sein und zwar immer wenn gespeichert wird, egal ob über Button, Strg+S, schließen oder sonst irgendwie gespeichert wird, es sollen beide Dateien gespeichert werden. Gerne mit den Hinweis im Dateinamen, dass die Datei mit oder ohne Makro ist.
Es soll kein Extra Button existieren oder sonst eine Abfrage kommen. "
Leider fällt mir dazu nichts ein. Das "Standart-Excel-Speichern" kann ich ja nicht beeinflussen...oder? :20:
Ich bin für Ideen sehr dankbar!
Mfg kaptainluis
ich habe ein für mich unlösbares Problem von einem Kollegen erhalten.
Ich soll eine Excel Datei in den Format mit Makro und ohne Makro speichern. Das habe ich mit einem Makro gemacht.
Sub speziellesspeichern()
Dim name As String
ChDir ActiveWorkbook.Path 'Änderung des Hauptpfades
name = InputBox("Dateinamen eingeben", "spezielles Speichern", ActiveWorkbook.name)
Debug.Print name
Debug.Print Right(name, 5)
If name = "" Then '///"" ist abbrechen in inputbox
Exit Sub
End If
If Left(Right(name, 5), 1) = "." Or Left(Right(name, 4), 1) = "." Or Left(Right(name, 3), 1) = "." Or _
Left(Right(name, 2), 1) = "." Or Left(Right(name, 2), 1) = "." Or name = "." Then
MsgBox ("Der Dateiname darf keine Endung haben! Zb. 'Versuch.xls' ist verboten!")
speziellesspeichern
Exit Sub
End If
dataname = ActiveWorkbook.Path & "\" & name
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=dataname, FileFormat:=xlWorkbookDefault 'ohne Makro
ActiveWorkbook.SaveAs Filename:=dataname, FileFormat:=xlOpenXMLWorkbookMacroEnabled 'mit Makro
Application.DisplayAlerts = True
MsgBox ("Speichern war erfolgreich. Gespeichert in: " & dataname)
End Sub
Leider ist die Lösung mit dem "Dateinamen ohne Punkt" eher schlecht gelungen und am liebsten hätte mein Kollege das so :
"Es soll ganz einfach sein und zwar immer wenn gespeichert wird, egal ob über Button, Strg+S, schließen oder sonst irgendwie gespeichert wird, es sollen beide Dateien gespeichert werden. Gerne mit den Hinweis im Dateinamen, dass die Datei mit oder ohne Makro ist.
Es soll kein Extra Button existieren oder sonst eine Abfrage kommen. "
Leider fällt mir dazu nichts ein. Das "Standart-Excel-Speichern" kann ich ja nicht beeinflussen...oder? :20:
Ich bin für Ideen sehr dankbar!
Mfg kaptainluis