VBA - 设置默认另存为名称而不打开对话框

VBA - Set Default Save As Name Without Opening Dialog

我在 Access 中使用 VBA 创建了一个 Word 文档,方法是创建一个新的 Word.Application,使用 Documents.Add 导入一个文档,然后进行所需的更改。完成更改后,文档将被激活,Word 将获得焦点。

我正在尝试更改当用户首次尝试单击此文档中的“另存为”但没有立即打开对话框时出现的建议名称。

我已经使用

设置了标题

.ActiveDocument.BuiltInDocumentProperties(wdPropertyTitle) = "Title"

一旦文档被激活,但我遇到了一些奇怪的行为。

我第一次在文档上单击“另存为”时,会出现一个根据文档内容自动建议的名称。但是,当我关闭此对话框并再次单击“另存为”时,会出现正确的名称。

似乎另一个用户遇到了这个问题 here

是否有针对此行为的 explanation/fix,如果没有,是否有我可以使用的替代方法?

非常感谢您的帮助。

这是我几年前想到的。它还设置 .BuiltInDocumentProperties(wdPropertyTitle).

key是使用,不显示,oWord.Dialogs(wdDialogFileSummaryInfo)

' Window title
sWindowTitle = "Document for " & sName

' http://wordmvp.com/FAQs/MacrosVBA/SetDefFilename.htm
With oWord.Dialogs(wdDialogFileSummaryInfo)
    ' Several characters will cause Word to truncate the default file name when saving
    sClean = sWindowTitle
    sClean = Replace(sClean , ".", "")   ' Dr. John Smith 
    sClean = Replace(sClean , "-", " ")  ' Anne-Marie Jones
    ' ... expand as needed ...

    .Title = sClean 
    .Execute
End With

With oDoc        
    .ActiveWindow.Caption = sWindowTitle
End With