Onderstaande macro gebruik om een bestand op te slaan. De macro werkt in principe goed alleen zou ik het volgende willen aanpassen.
1. Indien het bestand al bestaat vraagt excel of ik het bestand wil vervangen indien ik nee druk dan zou ik graag folder willen zien waar het bestand bestaande bestand is opgeslagen.
2. Al ik aangeef annuleren dan zou ik graag direct eruit willen en niet eerst het scherm waar ik een naam kan geven.
Gr. Kasper
1. Indien het bestand al bestaat vraagt excel of ik het bestand wil vervangen indien ik nee druk dan zou ik graag folder willen zien waar het bestand bestaande bestand is opgeslagen.
2. Al ik aangeef annuleren dan zou ik graag direct eruit willen en niet eerst het scherm waar ik een naam kan geven.
Code:
Function SavingWorkbook()
Dim strDate As String
Dim strFolder As String
Dim StrName As String
Dim strFile As String
Dim Arg1 As String
Dim Arg3 As String
Dim FN As String
Dim WasSaved As Boolean
Dim ret As Boolean
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
strDate = Format(Now, "dd-mm-yyyy")
strFolder = ThisWorkbook.Sheets("Blad3").Range("G1").Value
StrName = ThisWorkbook.Sheets("Blad3").Range("B2").Value
FN = strFolder & "\" & "test " & StrName & " (" & strDate & ")" & ".xlsm"
WasSaved = False
On Error Resume Next
ActiveWorkbook.SaveAs FN, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
If Err.Number = 0 Then
WasSaved = True
Else
Err.Clear
ret = Application.Dialogs(xlDialogSaveAs).Show(FN, 52)
If ret = True Then
strFile = ActiveWorkbook.FullName
If InStr(strFile, "\") = 0 Then
MsgBox "This workbook hasn't been saved yet", vbExclamation
Exit Function
End If
ActiveWorkbook.Close savechanges:=True ' or False, if you prefer
Workbooks.Open Filename:=strFile
'saved with some name
WasSaved = True
End If
End If
On Error GoTo 0
If WasSaved = True Then
'ActiveWorkbook.Close savechanges:=False
strFile = ActiveWorkbook.FullName
If InStr(strFile, "\") = 0 Then
MsgBox "This workbook hasn't been saved yet", vbExclamation
' Doorgaan = False
Exit Function
End If
ActiveWorkbook.Close savechanges:=True ' or False, if you prefer
Workbooks.Open Filename:=strFile
' Doorgaan = True
Else
MsgBox "This workbook hasn't been saved yet", vbExclamation ' "not saved!"
SavingWorkbook = "stop"
End If
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Function
Gr. Kasper