У меня есть шаблон слова с поддержкой макросов (.dotm) для развертывания на компьютерах под управлением Word 2013, 2016, 365 или 2019.
Мне нужно, чтобы пользователи сохранили файл как макрос с поддержкой (.docm), чтобы запустить _beforeSave код (вставить метку времени)
Однако я не могу заставить собственный SaveAsUI показывать только .docm!
В Excel я использую FileFilter Application.GetSaveAsFilename(FileFilter:="Excel Macro-Enabled Workbook (*.xlsm), *.xlsm"
, но в Word это не работает
Мне известны решения, предложенные как Принудительное сохранение Word VBA как .docm , но это не помогает. Он по-прежнему открывает собственный интерфейс SaveAs и предлагает в качестве первого выбора .docx
За кулисами 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 вместо обычного файла? При открытии нового документа на основе шаблона модуль Class, имеющий appWord_DocumentBeforeSave
похоже, не инициализируется, потому что декларирующий код находится в обычном модуле или ThisDocument в шаблоне и не переносится в новый документ?
Там действительно должен быть способ заставить пользователей сохранять документы в .docm, если шаблон также поддерживает макросы. В противном случае, какой смысл иметь шаблоны с макросами, учитывая, что обычные пользователи просто сохраняют документ, независимо от его формата (и в данном случае: документ по умолчанию)!
Спасибо за любую помощь или указатели