【发布时间】:2017-08-08 19:08:55
【问题描述】:
我在 Microsoft Word(2016,64 位,Windows 10)中创建了一个 Visual Basic for Applications 程序
它由一个带有大约 30 个文本框的用户窗体和一个提交按钮组成。每个文本框都有一个唯一的名称和标签。
我在word文档中也有同样数量的ContentControl文本框,每一个都有与其对应的UserForm TextBox相同的标题和标签。
当用户单击提交时,我所追求的是一种更好的方法来从用户窗体文本框填充文档文本框。
我目前通过为每个 TextBox 键入 3 行代码来执行此操作,但这很乏味。我每次复制并粘贴这 3 行代码,但每次都必须编辑每行的一小部分。
我考虑过使用循环,如下面的代码所示,我使用变量x 按名称复制文本框,但我不确定如何继续。
Dim doc As Document
Dim ccs As ContentControls
Dim cc As ContentControl
Set doc = ActiveDocument
For …
' Somehow find each text box, put the name of one into variable x then
Set ccs = doc.SelectContentControlsByTag(x)
Set cc = ccs(1)
cc.Range.Text = x.Text
Next
提前谢谢你!
【问题讨论】: