【问题标题】:How to populate fields/form in word document from other word document?如何从其他word文档填充word文档中的字段/表单?
【发布时间】:2019-07-27 10:45:10
【问题描述】:

我有一个 Word 文档,其中包含用户手动填充信息的字段。还有几个其他文档具有相同的字段,用户希望根据第一个文档中的信息自动填充这些字段。如何做到这一点?文档为 .doc 格式。

在来这里之前我已经尝试过环顾四周,但我设法找到的每个网站(标题为“在 Word 中填写表格”等)实际上都描述了如何为此类操作准备文档,不是如何从其他文档中插入数据。我可能遗漏了一些非常明显的东西,但无法弄清楚。

所有文档都在“限制编辑”菜单的“2.编辑限制”下选择了“仅允许在文档中进行这种类型的编辑:”票证和“填写表格”。

【问题讨论】:

  • 下面的答案解决了你的问题吗?

标签: ms-word office365 ms-office


【解决方案1】:

这是一个边缘问题,因为它在技术上属于最终用户领域。但这对开发人员来说也是一个有趣的问题,因为没有直接的方法可以使用对象模型来实现所需的功能,除非按照以下步骤(即插入 IncludeText 字段)。

  • 在源文档中,有必要使用内容控件进行文本输入(表单字段下拉菜单可以正常工作)并为它们添加书签。旧版表单字段文本框的内容将无法通过。
  • 在 Word 中,在目标文档中,转到“插入”->“对象”->“文件中的文本”
  • 在对话框中单击“范围”按钮,输入书签名称
  • 选择“作为链接插入”选项

这会在文档中创建一个IncludeText 字段,该字段引用源文档的文件路径和书签内容:

{ INCLUDETEXT "C:\\Test\\TestFormsProtection.docx" Text1 }

请注意,使用 Word 域代码的相对文件路径没有可靠的(有时可能有效,但有时无效)方法。

在活动文档末尾生成此字段的相关 VBA 代码:

Dim doc as Word.Document
Dim rng as Word.Range
Set doc = ActiveDocument
Set rng = rng.Content
rng.Collapse wdCollapseEnd
doc.Fields.Add rng, , "IncludeText " & Chr(34) & "C:\\Test\\TestFormsProtection.docx" & Chr(34) _
    & " Text2", false

【讨论】:

    猜你喜欢
    • 2022-09-30
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多