字段和表单字段有什么区别?

What is the difference between fields and formfields?

在word中按alt+F9可以显示"FieldCodes"

如何使用 vba 以编程方式访问它并将它们与表单域配对?

您可以通过 ? Application.ActiveDocument.Fields(1).代码

并且您可以通过 Application.ActiveDocument.FormFields(1)

访问表单字段

但是索引匹配有任何保证吗? 表单字段不能成为字段吗? Field 不能成为表单域吗?

将这些从 FORMTEXT 中更改出来是否会产生任何意想不到的副作用,或者这些基本上友好且友好的链接 ID/显示值是否允许您查看它们并轻松地在它们之间交换?

编辑:我想出了以下方法来获取字段代码。我仍然不确定编辑它们是否是个好主意,或者它们代表什么。

    Application.ActiveDocument.FormFields(1).Range.Fields(1).Code

字段是一般对象,它们可以是:

  • 文档的属性(内置或自定义),
  • 邮寄/合并邮件,
  • 计算,
  • 表单字段,
  • ...

表单字段是用于输入的字段。

看看标签信息中的链接,有很多有趣的东西!

并且您可以通过它们自己的集合访问它们(在 VBE 中按 F2 以使用对象浏览器)。

对于字段,一般集合在 Application.ActiveDocument.Fields
但是您可以在很多对象中找到它们(使用对象浏览器检查!)。
查看 以了解您可以在其中找到它的其他对象! ;)


据我所知,不可能像在 Field.

中那样在 FormField
中嵌套某些东西

我不确定是否理解该问题:

"Will changing these away from FORMTEXT have any unintended side effects, 
or are these basically nice and friendly linking id's / display values
allowing you to view them and swap between them with ease?"

如果您想创建一个用户可以填写的表单,您需要坚持使用 FormFields

如果您想在文档中的特定位置显示值,Fields 是正确的选择。
我什至建议将自定义文档属性用于一般用途,将 MergeMail 用于邮件。 ;)