Vba 在MS Word中的书签处插入突出显示的句子?

Vba 在MS Word中的书签处插入突出显示的句子?,vba,insert,ms-word,highlight,Vba,Insert,Ms Word,Highlight,所以我有一个userform,我用它在特定书签处用文本填充模板。为了便于查看插入的文本,我希望它用黄色突出显示。对于插入的每一个文本,是否有一种方便的方法可以做到这一点,而无需键入文本、选择文本然后突出显示文本?例如,这是我的代码中类似atm的部分: With ActiveDocument Options.DefaultHighlightColorIndex = wdYellow '[highlight=yellow].Bookmarks("Modtager").Range.Text

所以我有一个userform,我用它在特定书签处用文本填充模板。为了便于查看插入的文本,我希望它用黄色突出显示。对于插入的每一个文本,是否有一种方便的方法可以做到这一点,而无需键入文本、选择文本然后突出显示文本?例如,这是我的代码中类似atm的部分:

With ActiveDocument
   Options.DefaultHighlightColorIndex = wdYellow
   '[highlight=yellow].Bookmarks("Modtager").Range.Text = TxtModtager.Value[/highlight]
  .Bookmarks("Modtager").Range.Text = TxtModtager.Value
  .Bookmarks("KSnr1").Range.Text = txtKSnr.Value
  .Bookmarks("KSnr2").Range.Text = txtKSnr.Value
第一行似乎没有任何作用-即使没有打开选项,新文本仍然没有突出显示

第二行是我在另一个网站上发现的东西,但由于它不起作用,不得不对它进行评论

最后三行插入实际文本,我想您可以选择先选择书签,然后选择。TypeText text:=我需要的任何值,然后再选择新短语如何?然后选择.HighlightColorIndex=wdYellow

但是应该有更好的办法,有什么建议吗

这对我很有用:

SetBkmkText "Modtager", TxtModtager.Value
SetBkmkText "KSnr1", txtKSnr.Value
SetBkmkText "KSnr2", txtKSnr.Value


Sub SetBkmkText(bkmk as String, NewText as String)
    With ActiveDocument.Bookmarks(bkmk).Range
        .Text = NewText 
        .HighlightColorIndex = wdYellow
    End With
End Sub

感谢您的回复,但是没有办法为输入的所有内容启用高亮显示,而不必为每次插入指定它吗?您的示例仍然需要每个书签有4行,如果您有许多书签,这相当多。如果您有许多书签,则将该部分拆分为一个可调用的子过程。请参阅我的编辑。