VBA如何为用户窗体(Userform)上的文本框内容应用指定样式?
问题原因
- 你声明了
TextBox15为Range类型,但没有用Set关键字绑定到文档中对应内容的实际范围,操作空对象自然不会生效 - 参考组合框的实现逻辑,你的文本框内容应该是绑定到书签名为
bmagicf的位置,需要先获取这个书签的Range对象才能设置样式 - 原代码中对
TextBox15的拼写大小写不一致,属于不规范写法
修正后的代码
Dim TextBox15 As Range ' 绑定文本框对应内容的书签范围,书签名称和你使用的变量名bmagicf对应 Set TextBox15 = ActiveDocument.Bookmarks("bmagicf").Range ' 保留原有逻辑给文档变量赋值 ActiveDocument.Variables("bmagicf").Value = Me.TextBox15.Value ' 给Range设置文本内容 TextBox15.Text = Me.TextBox15.Text ' 应用指定样式 TextBox15.Style = ActiveDocument.Styles("Style 22") ' 更新所有域 With ActiveDocument .Fields.Update End With
补充说明
如果你的内容不是通过bmagicf书签定位,而是直接和文档变量绑定的域对应,也可以在更新域之后遍历对应域的范围设置样式,按照你给出的组合框参考逻辑,上述代码已经可以满足需求。
内容的提问来源于stack exchange,提问作者2acb_John_Suren
相关产品推荐
相关产品推荐

