我有一个用于报价的 Word 文档。每次创建新文档时,我都需要更改一些字段(公司名称、收件人等)。我希望文件要求我在打开时在弹出窗口中填写这些字段,这样我就不会错过任何字段。这可以吗?
答案1
您可以使用 VBA 事件文档_打开实现这一点。您需要将文档另存为.docm
文件才能使其工作(Word 宏启用文档)。
按Alt+ F11,然后将此代码添加到ThisDocument
对象:
Sub Document_Open()
MsgBox "Don't forget to amend the fields!"
End Sub
你可以做的不仅仅是展示信息框当然。
要扩展这一点并实际从提示中填充数据,您可以使用输入框或自定义表单。我将在这里介绍输入框,因为表单有点长且更复杂。
首先,我们需要添加表单字段来填充我们想要填充的数据。我将向您展示最兼容的方法。
您可能需要Developer
为此启用工具栏。一些涵盖不同版本的 Word 的说明如下这里,对于我来说,我必须在这里启用它:
接下来,我们将添加表单字段:
右键单击新的表单字段,然后单击Properties
。为该字段提供一个Bookmark
明确引用它的:
现在,在 VBA 中,我们可以使用输入框中的文本更改该值:
Sub Document_Open()
ActiveDocument.FormFields("CompanyName").Result = InputBox("Enter your company name here")
End Sub
显然,您可以根据需要添加任意数量的这些内容。
注意:灰色背景 - field shading
- 不会在打印中显示,但如果您想删除它,您可以单击您的字段,然后在添加它的同一位置单击此按钮: