1

在word中按alt+F9可以显示“FieldCodes” 在此处输入图像描述

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

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

您可以通过 Application.ActiveDocument.FormFields(1) 访问表单字段

但是是否有关于索引匹配的任何保证?表单字段可以不是字段吗?字段不能成为表单字段吗?

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

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

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

1 回答 1

1

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

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

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

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

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

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


据我所知,不可能在 a 中嵌套一些东西FormField
就像你可以在 a 中那样Field

我不确定是否理解这个问题:

"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 用于邮件。;)

于 2017-04-05T08:37:43.610 回答