Excel vba插入书签之前不给予预期的字顺序

我正在使用下面的代码来打开一个新的Word文档并添加书签。 我试图插入多个单词书签'MyBookmark'来形成一个句子:“从前…”

我期望通过使用InsertBefore将单词插入到书签之前,并且可以在第一个单词之后添加下一个单词,因为书签在单词的末尾结束。 这不是发生了什么事情,而是在创build句子的句子开始处添加单词:“一次……一次”

我怎样才能在句子末尾添加单词?

我试过使用InsertAfter,它有相同的结果。 我不想改变添加单词的顺序,因为这是不可行的,我想实现这一点。 下面的代码是我想要在实际实现中打开保存为dotx文件的模板的示例。

Sub InsertBefore() ' Open Word document from template Set wrdApp = CreateObject("Word.Application") wrdApp.Visible = True wrdApp.Documents.Add wrdApp.Activedocument.Bookmarks.Add Name:="MyBookmark" ' Insert text wrdApp.Activedocument.Bookmarks("MyBookmark").Range.InsertBefore "Once " wrdApp.Activedocument.Bookmarks("MyBookmark").Range.InsertBefore "upon " wrdApp.Activedocument.Bookmarks("MyBookmark").Range.InsertBefore "a time..." End Sub 

最简单的方法是使用Selection对象。 你先去那里,然后你开始从那里打字:

 wrdApp.Activedocument.Bookmarks("MyBookmark").Range.Select 'Then from there on you just use the Selection object wrdApp.Activedocument.ActiveWindow.Selection.TypeText("Once ") wrdApp.Activedocument.ActiveWindow.Selection.TypeText("upon ") wrdApp.Activedocument.ActiveWindow.Selection.TypeText("a time...")