【问题标题】:Editing formfields/references in word from Access从 Access 中编辑 word 中的表单域/引用
【发布时间】:2017-05-04 15:06:31
【问题描述】:

我使用访问来编辑 Word 文档,并且我使用此代码(示例)来填写文档中的表单域:

.FormFields("txtProsjektNavn").result = DLookup("txt", dbName, "key = 
'byggNavn'")
.FormFields("txtProsjektNr").result = DLookup("value1", dbName, "key = 
'prosjektNr'")
.FormFields("txtOverblikk").result = DLookup("txt", dbName, "key = 
'txtOverblikk'")
.FormFields("txtByggEier").result = DLookup("txt", dbName, "key = 
'byggEier'")

不过,这一切都很好而且很花哨。 其中一些值需要在文档中重复多次。 我认为在 word 文档中为 2 个表单域提供相同的书签名称是不行的。因此,我不必创建许多具有不同名称的表单字段,而是尝试创建引用已创建表单字段的 REF 字段,但是,当访问更新表单字段本身时,它们不会更新。

是否有人对此有解决方案,或者我只需要制作许多具有不同名称的表单域,例如:text1、text2、text3,然后访问权限用相同的值填充它们。

【问题讨论】:

    标签: vba ms-access ms-word


    【解决方案1】:

    您已经填写了所需的表单字段。如果你想重复这些值,你可以使用cross-reference

    按照以下步骤设置所有字段后,您可以在填充表单字段后使用ActiveDocument.Fields.Update 自动更新字段。

    插入 -> 交叉引用(在链接下)

    选择引用类型作为书签并插入

    在 vba 中使用 ActiveDocument.Fields.Update 更新字段。

    【讨论】:

    • 嘿!这正是我想要的,我刚才确实试了一下。然而,一些问题,在我运行 activedocument.fields.update 后,我的表单字段重置为空白。这当然会导致交叉引用为空白
    【解决方案2】:

    我尝试了建议的解决方案,但我的问题是当我更新文档中的所有字段时,表单字段重置为空白。 我通过仅遍历交叉引用字段并单独点击更新来解决此问题。

        docField as Word.Field
    
        For Each docField In doc.Fields
        If docField.Type = wdFieldRef Then
            docField.Update
        End If
        Next docField
    

    【讨论】:

      猜你喜欢
      • 2016-08-04
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 2018-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多