在用 VBA 写入 Word 文档之前,能否以编程方式将字符样式应用于字符串?

Can a character style be applied programmatically to a string before it is written to the Word document with VBA?

我正在从 Excel sheet 中抓取一些数据并将其填充到 Word 模板中。我希望我可以将文档的一些字符样式分配给子字符串,这些子字符串将在构建字符串时添加到文档中,而不是先将字符串添加到文档中,然后 select 每个字符串分别添加到应用适当的样式。

现在,我正在连接一些字符串并将它们添加到文档中的文本框中,如下所示:

ActiveDocument.Shapes("Text Box 7").TextFrame.TextRange.Text = str1 & " " & str2 & ", " & str3

这在循环中运行并将其中几行打印到文档中。但是,我希望在将其写入文档时在每一行上使用 assign/apply 与 str1str2str3 不同的字符样式。类似于:

ActiveDocument.Shapes("Text Box 7").TextFrame.TextRange.Text =
    str1.applyStyle("charStyle1") & 
    " " & 
    str2.applyStyle("charStyle2") & 
    ", " &
    str3.applyStyle("charStyle3")

我知道没有 String.applyStyle() 方法,但是有没有什么可以接近这个功能,或者字符串必须先写入文档然后加载到 Range 对象,然后设置其 Style 属性?

With ActiveDocument.Shapes("Text Box 7").TextFrame.TextRange
  .Style = "Style1"
  .Text = str1 & " "
  .Collapse wdCollapseEnd
  .Style = "Style2"
  .Text = str2 & ", "
  .Collapse wdCollapseEnd
  .Style = "Style3"
  .Text = str3
End With