我可以使用“insertafter”在 Word VBA 中同时插入 xml 字符串和常规字符串吗?

问题描述 投票:0回答:1

假设我有获取这两个字符串的代码

    stringRegular = lineRange.Text

   stringFormatted = line2Range.WordOpenXML

第一个字符串应该是纯文本。 第二个字符串应该是带有格式的文本(粗体、斜体、颜色等)。 我希望这是真的,因为第二个字符串是 Word 可以解释的 XML。 现在我已经获得了两个字符串,我想将这两个字符串插入到一个新的Word文档中。 所以我添加这两行:

        newDoc.Content.InsertAfter stringRegular
        newDoc.Content.InsertAfter stringFormatted

我发现当我这样做时,第一个字符串(纯文本)被正确插入。 插入第二个字符串就好像我想查看底层标签一样(我不想,我想查看格式化文本)。 我看到的一个例子是:

<?xml version="1.0" standalone="yes"?>
<?mso-application progid="Word.Document"?>
<pkg:package  ....

我做错了什么?

谢谢, 马克

vba xml ms-word
1个回答
0
投票

我查看了文档,除了 XML 之外,制作与 'insertAfter' 类似的函数的方法如下:

Sub InsertXMLAfter(ByRef newDoc As Document, ByRef strXML As String)
  Dim rng As Range
  Set rng = newDoc.Content
  rng.Collapse Direction:=wdCollapseEnd
  rng.InsertXML strXML
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.