Zusammenfassung: Meine Firma versendet Briefe an Kunden und möchte, dass ich ein Makro schreibe, um verschiedene Textfelder auszufüllen, die in einem Word-Dokument eingerichtet wurden, da sich sehr wenige Dinge ändern zwischen verschiedenen versandten Briefen. Ich habe Makros in Excel gemacht, aber dies ist meine erste Begegnung mit MS-Word-Makros
Problem: Ich habe es schwer gefunden, eine effektive, intelligente Navigation durch MS-Word zu finden. Ich habe diesen Artikel über in verschiedene Richtungen bewegen gefunden Das ist wirklich das gleiche wie die Pfeiltasten. Ich hatte gehofft, einen Einblick in die beste Art und Weise zu bekommen, wie man das Word-Dokument durchsucht. Zum Beispiel sollte ich eine Schleife machen, um mich nach rechts zu bewegen, bis ich etwas Sinnvolles finde oder gibt es einen effektiveren Weg?
Frage: Ist es möglich, einen bestimmten Formularspeicherort in einer Variablen zu speichern oder hat ms-word kein Koordinatensystem?
Vielen Dank im Voraus!
Es gibt mindestens drei Arten von Formularfeldern in der aktuellen Windows-Version von Word - Inhaltssteuerelemente, "Legacy-Formularfelder" und ActiveX-Formularfelder. Angenommen, Sie haben mit Legacy-Formularfeldern zu tun, sollten Sie in der Lage sein, die FormFields-Auflistung unter Verwendung des Lesezeichennamens zu indizieren und dann z. B.
zu verwenden %Vor% Um mit den Inhaltssteuerelementen zu arbeiten, müssen Sie sicherstellen, dass Sie Title
des Steuerelements festgelegt haben. Sie können auch Tag
festlegen, wenn Sie möchten. Siehe Snapshot
Und dann können Sie diesen Code verwenden, um das Inhaltssteuerelement zu aktualisieren oder seinen Wert abzurufen
%Vor%Wenn Sie den Code ausführen, sieht das so aus
Um den Text des Steuerelements zu erhalten, können Sie Debug.Print cc.Range.text
Sie sollten Lesezeichen an verschiedenen Stellen im Dokument erstellen können, zu dem Sie wechseln möchten. In modernen Word ist dies auf der Registerkarte "Einfügen" in der Gruppe "Links". Dann können Sie auf die Lesezeichen von VBA zugreifen und Text mit dieser Art von Code in sie einfügen:
%Vor%Diese MVP-Site enthält mehr Daten zur Technik. Außerdem enthält MSDN einige Daten zu Lesezeichenobjekten.