当使用ole-automation将内容插入现有word文档时,我遇到了一个有趣的问题:
WordApp.Selection.HomeKey(unit := wdStory);
if FileExists(s) then
WordApp.Selection.InsertFile(Filename := s, ConfirmConversions := false,
Link := false, Attachment := false);
这适用于大多数word文档,除了那些我们在文档中作为第一个元素的“自动内容表”。在这种情况下,自动化崩溃:
此操作在块级XML
之外无效
我尝试了一些其他功能,如:
WordApp.Selection.InsertText('Test') / (#13#10)
WordApp.Selection.InsertBreak(Page/Line)
具有相同的否定结果。当第一个元素是自动表时,似乎光标位置无效。
我有什么想法可以解决这个问题吗?
答案 0 :(得分:1)
您需要确保在文档和的最开头插入内容,即第一段不包含内容控件(ToC周围的内容)。
主页键并不总是让你到最开始。如果是文档开头的目录,按home键会将您带到包含目录的内容控件的开头。要进入前面,您可以将End
的{{1}}(和Start
)属性设置为0.此外,您必须在目录之前插入一个段落:
Selection