VBA 和 Word:剪切文本框名称以匹配书签的名称

VBA and Word: Cutting a TextBox name to match that of a Bookmark

我有一个 Word 模板,其中的某些地方分配了很多书签。 我创建了一个带有文本框的用户窗体以将文本插入到 places/Bookmarks.

书签和文本框的名称匹配,但文本框名称前面添加了 "TextBox_"。 我还想出了如何循环遍历选项卡的所有文本框(例如)。

现在我想在循环时从文本框名称中删除 "TextBox_",并将它们的值分配给书签。我想使用

来做到这一点
Replace(ctl.Name, "TextBox_", "")

但这行不通。有人可以告诉我出了什么问题或帮我找到解决方案吗?我现在脑子里一片空白...

提前致谢!

到目前为止我的代码:

Private Sub apply_textboxes()

Dim ctl As Control

For Each ctl In Me.MultiTab1.Pages(Me.MultiTab1.Value).Controls

    If TypeName(ctl) = "TextBox" Then

        ActiveDocument.Bookmarks(Replace(ctl.Name, "TextBox_", "")) = ctl.Value

    End If

End Sub

(在我的用户窗体中,一个按钮正在调用 apply_textboxes 子。)

PS: 由于某些原因,我的 "Hi" 从一开始就被删掉了。所以 "Hi everyone" 从这里开始!

这应该有效:

ActiveDocument.Bookmarks(Replace(ctl.Name, "TextBox_", "")).Range.Text = ctl.Value

你需要 .Range.Text