Ich habe diese Methoden verbunden, um ein Makro zu erstellen, das einem Rechtsklickmenü-Button zugewiesen wird. Das Ziel ist, das Wort unter dem Cursor mit der rechten Maustaste auszuwählen, klicken Sie auf das Makro, das dieses Wort (Trimmen Leerzeichen) auswählt und es an den Standard-Suchdialog von Word sendet.Öffnen Sie den Suchdialog mit einem ausgewählten Wort mit VBA MS-Word
Option Explicit
Sub CreateMacro()
Dim MenuButton As CommandBarButton
With CommandBars("Text")
Set MenuButton = .Controls.Add(msoControlButton)
With MenuButton
.Caption = "Find word"
.Style = msoButtonCaption
.OnAction = "FindWordUnderCursor"
End With
End With
End Sub
Sub ResetRightClick()
Application.CommandBars("Text").Reset
End Sub
Sub FindWordUnderCursor()
Dim pos As Long
Dim myRange As Range
'~~> 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
If Selection.Characters(Selection.Characters.Count) = " " Then
Selection.MoveEnd Unit:=wdCharacter, Count:=-1
End If
'~~> Display the word
Debug.Print Selection.Text
End Sub
Das einzige, was zu erreichen gelassen ist, dass das ausgewählte Wort selbst in dem Standard setzt MS-Word Suchdialogfeld (oder es öffnen, wenn es nicht aktiv ist), die automatisch die Ereignisse alle im Dokument hervorhebt. Wenn ich mit der rechten Maustaste auf ein anderes Wort klicke und das Makro auswähle, muss das neue Wort natürlich das vorherige ersetzen. Kannst du mir bitte helfen?
Hier sind die beiden gewünschten Schritte:
Dank
Die einzelne Linie des Codes tut den Trick, und ich kann das Höhepunkt gerade "rückgängig machen" die Aktion loswerden. Natürlich ist die ganze Methode nicht perfekt (ich wünschte, Word hätte es eingebaut, um Autoren zu helfen, Duplikate zu finden. Ich benutze das zusammen mit einem anderen Makro, das ich geschrieben habe, um die wiederholten Wörter in einem Text zu identifizieren, wenn Sie möchten Frage: – juleshg
Hoppla, ich habe festgestellt, dass ich mit der Aktion Rückgängig die Hervorhebung und auch die vorherige Aktion rückgängig mache, dh wenn ich ein Wort korrigiert habe und die Rückgängig-Taste gedrückt habe, wird die Hervorhebung angezeigt aber die Korrektur wird wieder rückgängig gemacht.Jede Idee, das zu umgehen? – juleshg
Oh, vergiss nicht, der Höhepunkt verschwindet, wenn ich irgendwo ein einzelnes Feld treffe. – juleshg