VBA:停止Word将新行添加到所选文本

时间:2016-02-03 16:07:49

标签: vba word-vba

每当我使用此代码在MS Word中选择一段文本时:

Dim aRange As Range
Set aRange = ActiveDocument.Range( _
 Start:=ActiveDocument.Paragraphs(1).Range.Start, _
 End:=ActiveDocument.Paragraphs(3).Range.End)
  aRange.Select

除了Word自动更改选择以在选择的末尾添加新行字符外,一切都很好。怎么避免呢?也许可以更改选择,使其不包含换行符。

我的问题类似于另一个one already asked,但我希望它能够使用VBA来实现。

2 个答案:

答案 0 :(得分:0)

使用键盘上的选择时,可使用Shift +向左/向右箭头键更改选择范围。在Word对象模型中,您可以使用Range对象;实际上,有一套方法:MoveStart,MoveEnd,MoveWhile,MoveUntil

在这种情况下,您需要MoveEnd方法。您可以通过一组特定的单位移动终点,例如字符,单词,段落 - 您希望移动一个字符,然后移动"向后移动",所以:

aRange.MoveEnd wdCharacter, -1
aRange.Select

答案 1 :(得分:0)

这应该有效:

{{1}}