Word 2013将插入点移动到单词的结尾

时间:2017-09-24 21:21:24

标签: word-vba word-2013

有一个简单的直接方法将插入点移动到Word 2013中单词的结尾?在单词结尾处,我的意思是单词的最后一个字符是插入点的左边,尾随空格或标点符号是右边的,没有选择任何内容。我确信Word 2002能够在没有宏的情况下做到这一点。我已经创建了以下宏来执行此操作,但我确信必须有一个内置的方法来执行此操作,或者至少可以使宏更简单。

Sub MoveCursorEndWord()
Selection.MoveRight Unit:=wdWord, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=1

If Selection.Text <> " " Then
Selection.MoveRight Unit:=wdCharacter, Count:=1
End If

End Sub

1 个答案:

答案 0 :(得分:1)

实际上,我提出的程序与你的程序完全不同。

Sub EndOfWord()

    Dim Rng As Range

    With Selection
        .Words(1).Select
        .Collapse wdCollapseEnd
        Do While .Start
            Set Rng = .Range
            Rng.MoveStart wdCharacter, -1
            If Asc(Rng.Text) = 32 Then
                .Move wdCharacter, -1
            Else
                Exit Do
            End If
        Loop
    End With
End Sub

问题在于Word坚持将尾随空格包含在&#34; word&#34;的概念中。由于您似乎遵循不同的定义,因此存在自然冲突。