我需要向 Word 2010 DOTX 模板添加一些字段,当使用 Word 互操作服务在 C# 程序中打开文档时,这些字段将在"运行时"自动填充自定义内容。 当通过 QuickParts 功能区菜单选项将它们添加到模板时,我没有看到任何方法可以为"询问"或"填写"字段分配唯一名称。
当我迭代文档时。字段集合 在 C# 程序中,我必须知道我引用的是哪个字段,以便可以为它分配正确的值。
似乎在以前版本的Word和Word 2010之间发生了变化。因此,如果您回答,请确保您的答案适用于 2010 年。 不要假设以前版本中曾经有效的方法在 2010 年有效。 非常感谢,因为我很少使用 Word,并且在 2010 年试图弄清楚功能区菜单时感觉像个娃娃。
是正确的,因为字段不一定具有将自己与其他字段实例(除了其在 Fields 集合中的索引)唯一区分开来的内置方法。但是,您可以使用 Field.Type 属性来测试 wdFieldAsk 或 wdFieldFillIn。如果这还不够窄,那么您需要从 Field.Code 解析您自己的唯一标识符。例如,您可以将 FILLIN 字段构造为:
{ FILLIN "Hello, World!" MYIDENTIFER }
循环访问文档时。字段集合只是对字符串中的标识符进行测试。编辑:示例:
For Each fld In ActiveDocument.Fields
If InStr("CARMODEL", fld.Code) <> 0 Then
''this is the carmodel field
End If
Next
另一种选择 - 使用 Find.Text 查找您的特定字段,表示"^d MYIDENTIFIER"(其中 ^d 是"字段代码"的表达式)
让我知道这是否有帮助,如果有任何差距,请扩展您的问题。