无法使用VBA和InsertXML

时间:2018-02-15 21:22:18

标签: vba word-vba openxml

此问题与我的其他问题有关:Range.InsertXML using Transform

在MS Word中,使用VBA插入内容控件很容易,例如:

ThisDocument.ContentControls.Add wdContentControlRichText, Selection.Range

我最近开始在XML方面进行更多探索,例如: Debug.Print ThisDocument.Range.XML 似乎(或实际上)为Word文档生成XML。但是,如果我创建一个新的BLANK文档并添加内容控件,我将无法提取并重新插入内容控件(oCC)。

我的步骤:

  • 在新文档中添加了2个空白段落
  • 将oCC添加到第2段
  • 选择了oCC段落
  • 即时窗口:thisdocument.Paragraphs(1).Range.InsertXML selection.Range.XML

乍一看它看起来像内容控件是重复的,但仔细检查,它被删除,只有格式化的文本仍然存在(见图像,顶部段实际上只是格式化的文本)。

Failed attempt to add content control using InsertXML

认为我可以 智能 MS Word我将内容控制的属性设置为“...”无法删除',但是没有帮助。

我还尝试插入单独的文档,以防问题与某些的重复有关,这应该是唯一的。

简而言之:

要回答这个问题,我需要一种方法,使用VBA和XML 的组合将内容控件插入到文档中(或确认我无法尝试的内容)

1 个答案:

答案 0 :(得分:0)

刚才意识到我应该使用Selection.Range.WordOpenXML代替Selection.Range.XML