我将一个书签放在光标位置的word文档表格单元格中。现在我想在书签之后向下移动一行,在同一个表格单元格中,并放置另一个书签。我尝试在书签后添加回车符,但是光标仍然在书签的第一行。
ActiveDocument.Bookmarks.Add Name:=bmItemNo, Range:=BMRange
'Adds carriage return after bookmark
BMRange.InsertAfter (Chr(13))
我也尝试将我的光标移动到行的末尾并向下移动1行,但它跳出了表格单元格:
ActiveDocument.Bookmarks.Add Name:=bmItemNo, Range:=BMRange
'Adds carriage return after bookmark
BMRange.InsertAfter (Chr(13))
Selection.EndKey unit:=wdLine, Extend:=wdMove
Selection.MoveDown unit:=wdLine, Count:=1, Extend:=wdMove
我的书签也可以用多行进行自动换行。
如何将我的光标移到书签后的下一行?
答案 0 :(得分:1)
您的代码几乎可以使用。你没有定义或告诉我们BMRange是什么,所以我做了一些假设。因此,请始终使用'Option Explicit'。您想要明确定义所有变量。此外,插入文本和光标无关。通过Ranges进行思考练习,在文档中构建,而不是插入点。虽然我的代码示例并不是最好的,但它确实说明了您的问题。
我无法得到您的结果,但这是我认为您想要的。是吗?
Option Explicit
Public Sub Test()
Dim BMRange As Range
Set BMRange = Selection.Range
ActiveDocument.Bookmarks.Add Name:="One", Range:=BMRange
'Adds carriage return after bookmark
BMRange.InsertAfter (Chr(13))
Selection.EndKey unit:=wdLine, Extend:=wdMove
Selection.MoveDown unit:=wdLine, Count:=1, Extend:=wdMove
Set BMRange = Selection.Range
ActiveDocument.Bookmarks.Add Name:="Two", Range:=BMRange
End Sub