如何设置.xltm模板另存为默认格式为.xlsm?
实现XLT模板另存时默认启用宏格式(XLSM)
完全可以通过Workbook_BeforeSave事件修改默认保存格式,具体实现方案如下:
- 打开你的.xltm模板文件,按下
Alt+F11打开VBA编辑器 - 在左侧项目窗口中双击
ThisWorkbook对象,打开其代码窗口 - 粘贴以下VBA代码:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim savePath As Variant ' 仅在用户触发"另存为"对话框时生效 If SaveAsUI Then Cancel = True ' 取消默认的另存为对话框 ' 弹出自定义另存为对话框,默认格式设为Excel启用宏的工作簿(XLSM) savePath = Application.GetSaveAsFilename( _ FileFilter:="Excel Macro-Enabled Workbook (*.xlsm), *.xlsm", _ Title:="保存为启用宏的工作簿") ' 如果用户选择了保存路径,执行保存 If savePath <> False Then Me.SaveAs Filename:=savePath, FileFormat:=xlOpenXMLWorkbookMacroEnabled End If End If End Sub
代码说明:
- 仅在用户触发「另存为」操作时生效,不影响常规保存
- 先取消系统默认对话框,替换为自定义的对话框,默认选中
Excel Macro-Enabled Workbook (*.xlsm)格式 - 用户仍可手动切换其他格式,但默认选项会引导选择正确的宏启用格式
- 仅当用户选择有效保存路径后,才执行保存操作
- 保存你的.xltm模板文件,之后用户从该模板新建文件并执行「另存为」时,就会默认使用XLSM格式了。
内容的提问来源于stack exchange,提问作者kartik
相关产品推荐
相关产品推荐

