是否可以将宏获取的包含 XML 标签的字符串映射到现有的 Word 样式?

是否可以将宏获取的包含 XML 标签的字符串映射到现有的 Word 样式?

从宏中,我获得了如下字符串:

<p>D. W. Arning et al. <i>Mixed Mode–Mixed level Circuit Simulator</i>. (2011). Ngspice. [Online]. Available: http:..., Accessed: Jan. 11, 2019.</p>

内容标签(可能还有更多标签)应该使用现有的 Word 样式来呈现。

是否可以自动将这样的 XML 字符串应用于 Word 样式(理想情况下映射标签我的风格名称),如果是,该怎么做?还是需要使用 VBA 字符串函数手动解析字符串?

答案1

<i>这个 vba 只是手动解析字符串的一个示例。只需选择两个标签(如和 )之间的字符串</i>,然后设置样式:

Sub setStyle()
' setStyle Macro
Dim MyTags()
Dim r1 As Range
Dim r2 As Range
MyTags() = Array("<i>", "</i>")

' get first tag
Set r1 = ActiveDocument.Range
With r1.Find
   .ClearFormatting
   .Execute Findtext:=MyTags(0), Forward:=True
End With

' get second tag
Set r2 = ActiveDocument.Range(Start:=r1.End, End:=ActiveDocument.Range.End)
With r2.Find
    .ClearFormatting
    .Text = MyTags(1)
    .Execute
End With

' select text between tags
ActiveDocument.Range(Start:=r1.End, End:=r2.Start).Select

' set selection to named Style
Selection.Style = ActiveDocument.Styles("Intense Emphasis")
End Sub

如果你的源文档只是 markdown 格式,而不是 xml/html,那么可以使用 pandoc 等转换器

相关内容