【问题标题】:VBA Word - Change Duplicated Text Form Field NameVBA Word - 更改重复的文本表单字段名称
【发布时间】:2018-02-25 22:35:50
【问题描述】:

我在尝试写入任何带有“文本表单字段”(“开发人员>控件>旧版表单”)的文档中的 Name 属性时遇到自动化错误(MS Office 2013):

Sub EditCopiedFormField()
    Selection.MoveDown Unit:=wdLine, Count:=4, Extend:=wdExtend
    Selection.Copy
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.Paste
    ActiveDocument.FormFields(3).Name = "ID999"
End Sub

ActiveDocument.FormFields(i).Name 字段在Selection.Copy-Selection.Paste 操作后是否可写?

复制并粘贴一些“文本表单字段”后,我通过阅读Name(UI 对话框中的“书签”字段)属性没有问题,但我无法编写它(可能是因为表单字段复制后变成重复的),收到标准错误:

对象“FormField”的方法“名称”失败

例如,在复制包含它们的范围后,我有两个具有相同 Name: "ID001" 的“文本表单字段”。通过双击表单编辑副本,副本的Name(“书签”)会立即清除:""

尝试在 Name 更改之前添加“书签”,注意通过 UI 中的菜单“链接>书签”没有重复“书签”:

`ActiveDocument.Bookmarks.Add("ID999")` 

不要改变现状。

我必须怎么做才能更改这些重复的名称?

【问题讨论】:

    标签: vba ms-word form-fields


    【解决方案1】:

    感谢The Anchorage 网站,这段代码似乎可以解决问题:

    ActiveDocument.FormFields(i).Select
    With Dialogs(wdDialogFormFieldOptions)
        .Name = "ID999"
        .Execute
    End With
    

    【讨论】:

      【解决方案2】:

      我无法复制您遇到的困难并建议进行以下测试。

      Private Sub ListFields()
      
          Dim Fld As FormField
          Dim i As Integer
      
          With ActiveDocument
              For Each Fld In .FormFields
                  i = i + 1
                  Debug.Print i, Fld.Name, Fld.Result
              Next Fld
          End With
      End Sub
      

      运行此代码会将您的表单字段列表打印到 VB 编辑器的即时窗口,并给出索引、名称和结果。通过索引号解决您希望更改其名称的字段。您应该能够进行所有您希望的更改。

      【讨论】:

      • 运行此代码并为重复表单添加行 If i = i0 Then Fld.Name = "ID999" End If 后,我仍然遇到相同的错误。
      • 这不是本意。该代码打印一个字段列表及其索引号。要更改名称,您应该运行 ActiveDocument.FormFields(x).Name = "ID999" 其中 x 是打印列表中的索引号,用于标识您希望更改其名称的字段。
      • 是的,我做到了。我没有在该列表中找到任何不好的东西。当字段重复时,直接调用字段Name 会出错。检查我几个小时前所做的编辑。
      • 您使用哪个版本的 MS Word?
      • 我确实设法复制了您的错误。我没有找到解决问题的方法。
      猜你喜欢
      • 2012-07-24
      • 2017-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多