我有一个启用宏的单词模板(.dotm),可以部署到运行Word 2013、2016、365或2019的计算机上。 我需要用户将文件另存为启用宏的(.docm),以便运行_beforeSave代码(插入时间戳记)
但是,我似乎无法强制本机的SaveAsUI仅显示.docm!
在Excel中,我使用FileFilter Application.GetSaveAsFilename(FileFilter:="Excel Macro-Enabled Workbook (*.xlsm), *.xlsm"
,但是在Word中,这不起作用
我知道建议使用Word VBA force save as .docm之类的解决方案,但这并不能解决问题。它仍然会打开本机的SaveAs UI,并作为首选.docx backstage SaveAsUI
是否没有在Word SaveAs上强制执行文件筛选器的选项?像这样:
Private Sub appWord_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
If Doc Is ActiveDocument Then
If SaveAsUI Then
Some FileFormat Filter here!!
问题是否与拥有 Word模板而不是常规文件有关?当基于模板打开新文档时,具有appWord_DocumentBeforeSave
的Class模块
似乎没有初始化,因为声明代码在常规模块或模板的ThisDocument中,并且没有转移到新文档中?
如果模板也启用了宏,则确实必须存在一种强制用户将文档保存在.docm中的方法。否则,考虑到普通用户只需保存文档,无论采用哪种格式(在本例中为默认docx),具有宏模板的意义何在!
感谢任何帮助或指导