我有一个Microsoft word2010模板文件,上面有几个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时,确实出现了save-as对话框,但文件名为空。在“即时”窗口中进一步研究后,我可以引用这些字段,但它们的Result属性始终返回空字符串。因此,对话框中的文件名显示为空。我可以引用布尔属性,类型属性等,并通过即时窗口在MsgBox中显示,但我不能让它返回任何结果。有没有人知道为什么会这样?
发布于 2012-11-21 04:02:33
所以看起来这个问题的答案是这样的:我仍然在一个模板文档中工作,而不是一个启用宏的文档。对于模板,在宏的运行时,文档上的字段不包含值。为了使宏能够使用输入到FormFields中的值,它必须是文档而不是模板。希望这能帮助任何人寻找这个问题的答案。
https://stackoverflow.com/questions/13408243
复制相似问题