Vba 遍历通过标记选择的内容控件,并将其文本替换为单个值

Vba 遍历通过标记选择的内容控件,并将其文本替换为单个值,vba,ms-word,ms-office,word-contentcontrol,Vba,Ms Word,Ms Office,Word Contentcontrol,我对VBA非常陌生,我正在MS Word 2016中使用它。我有一个ActiveX文本框(conFull)作为全名,我想把名字拉出来,并在整个文档中填充它。有一次我让它起作用了,但后来每次尝试都让这个词在我身上僵住了。我做错了什么 这是我的密码: Private Sub conFull_LostFocus() For Each ContentControl In ActiveDocument.SelectContentControlsByTag("nameTag") Wi

我对VBA非常陌生,我正在MS Word 2016中使用它。我有一个ActiveX文本框(conFull)作为全名,我想把名字拉出来,并在整个文档中填充它。有一次我让它起作用了,但后来每次尝试都让这个词在我身上僵住了。我做错了什么

这是我的密码:

Private Sub conFull_LostFocus()
    For Each ContentControl In ActiveDocument.SelectContentControlsByTag("nameTag")
        With ContentControl
            .Range.Text = Split(conFull.Text, " ")(0)
        End With
    Next
End Sub

非常感谢您的帮助

我在移动设备上,因此无法测试,但请尝试使用不是迭代保留关键字的变量名。VBA不区分大小写,因此无论
ContentControl
如何大写,它仍然是Word对象模型使用它的方式。例如,尝试使用
cc
contentcontrol
,看看这是否有区别。为什么不为给定的名称和姓氏使用单独的内容控件,并将给定的名称内容控件映射到您希望复制值的所有其他控件?不需要代码。请看:,macropod-谢谢!你是救命恩人。我没有足够的声誉来接受你的回答或投票,否则我会的(