2017-08-27 4 views
2

In Word 2016 gibt es bereits die integrierte Option "Alle Instanzen des Stils auswählen". Hier ist, wie es funktioniert:Makro zum Auswählen eines Textblocks mit demselben Stil

enter image description here

ich etwas ähnliches mit VBA implementieren möchten. Es sollte nur einen Textblock auswählen. Der einzige, in dem sich der Caret des Benutzers befindet. Zum Beispiel, wenn caret irgendwo in der Nähe von Bar() befindet, sollte das Ergebnis sein:

enter image description here

Es wird für die Auswahl sehr nützlich sein (und Kopieren/Ausschneiden) große Codeblöcke in Dokumenten.

Irgendwelche Ideen, wie es gemacht werden könnte?

(Ich weiß, Stack Overflow ist kein "Free Coding Service", und es ist eine gute Übung, teilweise Code zu zeigen, als Beweis für Ihre eigenen Bemühungen. Allerdings ist es auch ein bisschen schwierig, in VBA zu gelangen "von Grund auf", weil ich nie damit gearbeitet habe. Nur JavaScript in meiner bisherigen Praxis).

Antwort

1

Drücken Sie Alt + F11, um Visual Basic-Editor

dann zu öffnen, Einfügen> Neues Modul wählen

den folgenden Code ein:

Sub myMacro1() 
    WordBasic.SelectSimilarFormatting 
End Sub 

Hinweis: Dies ist für Office 2007, nicht sicher, ob Es ist das gleiche in Word 2016. Wenn Sie etwas aus Menüs tun können .. Sie können versuchen, Makro (auf der Registerkarte Entwickler) aufzeichnen und sehen die Codes automatisch von Wort generiert, um sie anzupassen.

+0

Hallo. Es funktioniert in Word 2016, aber es wählt alle Instanzen des Stils aus, wie in meinem ersten Bild gezeigt. Das ist nicht was ich will. Das gewünschte Ergebnis wird in meinem zweiten Bild angezeigt. Dort wird der einzige Codeblock ausgewählt, während zwei andere nicht ausgewählt werden. – jsv

+0

Ich habe gerade nicht genug Zeit, aber schlage vor, 'Auswahl' Methoden,' Selection.Paragraphs (1) .Range', GoTo ... https://msdn.microsoft.com/en-us/vba zu überprüfen/Wort-VBA/Artikel/Auswahl-Objekt-Wort –

Verwandte Themen