0

我有一个 Microsoft Word 2010 模板文件,上面有几个 FormFields。项目名称、项目位置和项目编号的顶部有三个。我打算截取 FileSave 内置宏并将上述三个字段的值连接起来,以在另存为对话框中建议一个文件名。我的代码包括:

Sub FileSave()

    With Dialogs(wdDialogFileSaveAs)
        .Name = ThisDocument.FormFields("ProjectNumber").Result & _
                ThisDocument.FormFields("ProjectName").Result & _
                ThisDocument.FormFields("ProjectLocation").Result
        .Show
    End With

End Sub

当我填写三个字段并按 ctrl+s 时,确实出现了另存为对话框,但文件名是空白的。在立即窗口中进一步调查后,我可以参考这些字段,但它们的 Result 属性总是返回一个空字符串。因此对话框中的文件名显示为空白。我可以参考布尔属性、类型属性等,并通过即时窗口将其显示在 MsgBox 中,但我无法让它返回任何结果。有谁知道为什么会这样?

4

1 回答 1

1

所以看起来这个问题的答案最终是这样的:我仍在模板文档中工作,而不是启用宏的文档。对于模板,在宏运行时,文档上的字段不包含值。为了使宏能够使用输入到 FormFields 中的值,它必须是文档而不是模板。希望这可以帮助任何人寻找这个问题的答案。

于 2012-11-20T20:02:33.187 回答