-1
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim fname As Variant, DateTime As String, myInitialFilename As String
On Error GoTo ErrorHandler
SaveAsUI = True
If SaveAsUI Then
Cancel = True 'Cancel the original SaveAs
DateTime = "_" & Format(Now(), "yyyy_mm_dd_hhmmss") '= " [yyyy_mm_dd]"
'DateTime = " [" & Format(Now(), "yyyy_mm_dd hhmm_ss") & "]" '= " [yyyy_mm_dd hhmm_ss]" (use instead if you want time in the name)
myInitialFilename = "Quote" 'EDIT THIS
'Get filename (with path) for saving
fname = Application.GetSaveAsFilename(InitialFileName:=myInitialFilename & DateTime, fileFilter:="Excel Marcro-Enabled Workbook (*.xlsm),*.xlsm")
If fname = False Then Exit Sub 'Exit if user hit Cancel
Application.EnableEvents = False 'Prevent this event from firing
ThisWorkbook.SaveAs Filename:=fname, FileFormat:=52
'52 = xlOpenXMLWorkbookMacroEnabled = xlsm (with macro's in 2007-2010)
Application.EnableEvents = True 'Re-enable events
End If
Exit Sub
ErrorHandler:
Application.EnableEvents = True
MsgBox "An error occured during save." & Err.Number, vbCritical, "Error"
End Sub`
강제로 저장하거나 저장하는 VBA 코드를 작성하여 .xlsm 파일 형식으로 사용하면 정상적으로 작동합니다. 그러나, 그 자체가 .xlsm 저장을 강요하는 코드 때문에 VBA 코드가있는 템플릿 파일을 저장할 수 없습니다.
템플릿없이 코드를 저장했지만, 코드를 추가하자마자 코드가 xslm으로 저장하도록 푸시하기 때문에 더 이상 xltm으로 저장할 수 없습니다. 내 템플릿을 저장하는 최적의 솔루션을 찾고 있습니다!Excel 2016 VBA 강제 저장 .xlsm - 템플릿을 저장하는 방법?
감사, 파일 내의 캐시 B.
코드를 포함시키는 것이 가장 좋습니다. –
if fileType <> .xlt? – Jbjstam