在整个 Microsoft Word 文档中重复用户输入

在整个 Microsoft Word 文档中重复用户输入

我正在尝试创建一个文档,其中用户将有机会输入一些文本,并且我想在同一文档的其余部分使用该文本。用户输入的文本将在同一文档的许多地方使用,并且随时更改名称应该反映在文档的其余部分中。

例如,在文档的第一页,我想获取用户的姓名和年龄并在其他地方使用它,如下面的屏幕截图所示。

在此处输入图片描述

我尝试使用纯文本内容控件来获取姓名和年龄。但我找不到将它们作为字段插入到文本中的方法。

关于如何实现这一点,您有什么想法吗?我甚至准备进行邮件合并,但我不希望数据来自除此文档之外的任何地方。屏幕截图是在 Office 2013 中尝试的,但如果它从 2007 开始就可以正常工作,那就太好了。我不想用宏来做这件事。

答案1

我认为您必须使用 Word 模板和 DocVariables。这也意味着需要一些 VBa,但本教程涵盖了它

http://www.gmayor.com/BookmarkandVariableEditor.htm

但是,作为让它从其他地方读取内容的一个例子,这个可能让你开始吧...这并不完美,但这可能是一个好的开始!

在 Word 中,将开发人员工具栏添加到功能区。

从开发人员工具栏中,从控件选项卡中放入 2 个文本框。

单击插入工具栏。

现在,单击第一个文本框(文本也将被复制)。确保单击左侧的 3 个小点,以便选择整个文本框。选择它后,书签(在链接下)应处于启用状态。单击它并为其指定适当的名称。

点击第二个文本框,执行相同操作,但这次点击“交叉引用”。在下拉框中选择书签,然后找到相应的书签。

设置完毕,但您必须手动更新字段。因此,在第一个文本框中输入一些文本,然后右键单击第二个文本框并选择“更新字段”。正如我所说,并不完美,但希望这是一个开始!

本文解释了如何使用模板和宏来实现这一点。http://word.mvps.org/FAQs/Userforms/CreateAUserform.htm

答案2

对于 Windows Word 2007 及更高版本,您可以使用一些Word 从“插入”->“快速部件”->“文档属性”插入的内容控件...例如,如果您插入“作者”文档属性,Word 将插入一个与内置属性相关的内容控件。因此,当您更改内容控件的一个副本中的值时,属性值会更新,然后所有其他作者内容控件都会自动更新。这与 Word 2007 之前的方法不同,在 Word 2007 之前,您必须插入一个 { AUTHOR } 字段,然后选择并更新它。

使用“开发人员”选项卡,您可以选择生成的内容控件并为其指定一个新标题,例如“年龄”。然后,您可以复制/粘贴具有该标题的控件副本。使控件不可删除通常也很有帮助。

如果您不想使用传统的内置属性(例如作者等),可以使用一组五个“属性”,称为封面属性。这些属性也可以从文档属性...菜单中获得,但值存储在不同的地方,即 Word 创建的自定义 XML 部分中。我认为这些是公司地址、公司电子邮件、公司传真、公司电话和发布日期。同样,您可以使用开发人员选项卡修改标题。

除此之外,您还必须使用 VBA 或类似的东西。如果您使用内容控件,则必须创建自己的自定义 XML 部分来存储值,并将控件连接到该存储。您将找到有关“重复数据”的各种选项的良好摘要这里

顺便说一句,如果您需要在 Word 中使用表单,最“兼容”的表单字段类型是 Windows Word 中所谓的“旧版表单字段”,因为这些是唯一在 Mac Word 中也能使用的类型。但如果您只需要在 Windows Word 2007 及更高版本中工作的内容,内容控件会有一些优势。

相关内容