【问题标题】:Set Value of Multiple Form Fields in Word VBA在 Word VBA 中设置多个表单域的值
【发布时间】:2020-08-16 06:59:36
【问题描述】:

有没有办法将多个表单字段的结果(值)设置为一个变量,而不是我为每个表单字段输入一行并一遍又一遍地使用相同的变量设置值?这就是我正在做的事情:

ActiveDocument.FormFields("Text31").Result = lender
ActiveDocument.FormFields("Text35").Result = lender
ActiveDocument.FormFields("Text46").Result = lender

所有这些表单字段都将读取相同的变量值,但字段位于我的 word 文档的不同部分。

我在文档中有一些页面,我在其中引入了 excel CSV,并且我准备的一些单词页面具有相同的数据,所以这就是问题的原因。如果这不可能,有没有办法将一个表单字段的值链接到另一个表单字段的值?

【问题讨论】:

  • 尝试在它们之间迭代...

标签: vba ms-word


【解决方案1】:

请尝试下一个代码:

Sub testFormFieldsResult()
   Dim ff As FormField, lender as string
   lender = "Another Test..."
   For Each ff In ActiveDocument.FormFields
        If ff.Type = wdFieldFormTextInput Then
            Select Case Right(ff.Name, 2)
                Case 31, 35, 46 'add whatever necessary
                    ff.Result = lender 
                Case 60, 61
                    'fill with something else
            End Select
        End If
   Next
End Sub

【讨论】:

  • 我很抱歉,但我应该在我的问题中更详细。我有其他应该有其他值的表单字段。因此,例如,4 个表单字段可能是变量贷方,并且这些表单字段的标签不同(“Text 31”、“Text35”和“Text46”),但我可能还有 5 个其他表单字段应该是另一个变量价值。
  • @A Kapadia:那么,必须使用他们名字的模式。如果我认为要填写的所涉及的表单字段名称将类似于“文本”,然后是 31、35、46 以及只有您知道的其他内容,可以吗?
  • @A Kapadia:修改代码以仅在具有特定名称结尾的表单字段中填写文本...
  • @A Kapadia:你有时间检查上面更新的代码吗?如果是,它不是满足您的需要吗?
  • @A Kapadia:很高兴我能帮上忙!但是,我们在这里,当有人回答我们的问题时,请勾选代码左侧的复选框,以使其接受答案。这样,如果其他人搜索类似的问题就会知道该代码有效...
猜你喜欢
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多