mein Code fordert Benutzer zum Speichern der aktuellen Datei als eine Makro-freie Datei, das Problem ist, dass, wenn der Benutzer abbrechen dann bekomme ich einen Fehler. Ich brauche meinen Code neu zu starten, wenn der Benutzer abbricht. Es wäre also am besten, wenn ein Meldungsfeld erscheint und sagt, bitte wählen Sie den Speicherort, um die Datei zu speichern und das Dialogfeld erscheint wieder, damit der Benutzer auswählen kann, wo die Datei gespeichert werden soll.Wählen Sie Ordner ohne Makro, wenn Benutzer Abbrechen Dialogfeld
Sub SaveWithoutMacro()
Dim objFolder As Object, objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(ChooseFolder)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=objFolder & "\" & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5) & ".xlsx", FileFormat:=51, password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
If objFolder <> False Then Exit SaveWithoutMacro = objFolder
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Function ChooseFolder() As String
Dim fldr As FileDialog
Dim sItem As String
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
.Title = "Select a Folder to save down the copy of this workbook"
.AllowMultiSelect = False
.InitialFileName = strPath
If .Show <> -1 Then GoTo NextCode
sItem = .SelectedItems(1)
End With
NextCode:
ChooseFolder = sItem
Set fldr = Nothing
End Function
Also * mein * Code obwohl geschrieben von [Jeremy] (https://Stackoverflow.com/a/47562372/1505120). – pnuts