【问题标题】:How do i edit form field value in MS WORD 2007如何在 MS WORD 2007 中编辑表单字段值
【发布时间】:2012-09-26 09:28:32
【问题描述】:

如何在我的文档中编辑文本表单字段(旧表单),以便我可以在我的 VBA 脚本中使用该字段的新值?

我有带有文本表单字段的简单表单(书签 = TextFormField1)。它显示默认文本“默认文本”。

我可以像这样访问该字段的文本:ActiveDocument.FormFields("TextFormField1").Range.Text

但是,如果我更改此字段的值,它似乎会删除该字段本身,并用简单的文本替换它 - 导致 ActiveDocument.FormFields("TextFormField1").Range.Text 抛出异常,因为 TextFormField1 不再存在......

我做错了什么?如何在表单字段中插入文本,并在我的 VBA 脚本中使用此文本?

【问题讨论】:

    标签: vba ms-word


    【解决方案1】:

    尝试下一个代码:

    ThisDocument.FormFields("Index_Or_FormFieldName_or_Bookmarkname").TextInput.EditType Type:=wdRegularText, Default:="Your Form field text"  
    

    但是它将值输入到 FormField 中的速度非常慢。

    【讨论】:

      【解决方案2】:

      使用Result 属性:

      ActiveDocument.FormFields("TextFormField1").Result = "Form field text"
      

      【讨论】:

      • 出于某种原因,在我的 Word 2013 中,它保存了文本,但在编辑表单域时,会出现旧文本,导致某种形式的损坏。
      • @Вадим Онищенко 解决方案是 MS Word 2013 中的当前解决方案。这项工作,但上面指出的损坏。 ThisDocument.FormFields("Index_Or_FormFieldName_or_Bookmarkname").TextInput.EditType Type:=wdRegularText, Default:="Your Form field text"
      猜你喜欢
      • 1970-01-01
      • 2016-08-04
      • 2022-11-09
      • 2020-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多