Word vba SaveAsUI强制用户保存为启用宏的docm格式

时间:2019-06-13 02:17:49

标签: vba ms-word

我有一个启用宏的单词模板(.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),具有宏模板的意义何在!

感谢任何帮助或指导

0 个答案:

没有答案