2

VBAそのためWordに、右クリックのコンテキストメニューにボタンを追加して、アプリケーションを起動します(動作します) 。

引数として渡すには、単語をクリックする必要があります。Selection右クリックしても単語が選択されず、カーソルの後に文字が表示されるため、使用できないことがわかりました。

私が読んだことで、おそらくカーソルの位置を見て、単語の始まりと終わりの両側を見ることができました。

4

2 に答える 2

3

これはうまくいくようです

Selection.Words(1).Text

編集

文の終わりを説明するために、もう少し堅牢です。

Sub FindWord()

    Dim rWord As Range

    If Selection.Words(1).Text = vbCr Then 'end of sentence
        'get last word of sentence
        Set rWord = Selection.Words(1).Previous(wdWord)
    Else
        'get selected word
        Set rWord = Selection.Words(1)
    End If

    'There has to be a better way than this
    If rWord.Text = "." Or rWord.Text = "?" Then
        Set rWord = rWord.Previous(wdWord)
    End If

    Debug.Print rWord.Text

End Sub
于 2012-08-13T19:27:03.177 に答える
1

カーソル下の単語を確認する最も簡単な方法は次のとおりです。

Sub Sample()
    Dim pos As Long

    '~~> if the cursor is at the end of the word
    Selection.MoveEnd Unit:=wdCharacter, Count:=1

    Do While Len(Trim(Selection.Text)) = 0
        '~~> Move one character behind so that the cursor is
        '~~> at the begining or in the middle
        Selection.MoveEnd Unit:=wdCharacter, Count:=-1
    Loop

    '~~> Expand to get the word
    Selection.Expand Unit:=wdWord

    '~~> Display the word
    Debug.Print Selection.Text
End Sub
于 2012-08-13T19:28:43.003 に答える