Text in Fließtext in Word via VBA einsetzen
Hallo, guten Abend!
Ich habe eine vorgefertigte Word-Vorlage, in die ich in den Fließtext an bestimmte Stellen Daten mittels eines Makros einsetzen muss.
Wie lässt sich das am besten realisieren, dass ich diese Daten per VBA auch an die entsprechende Stelle in meinen Fließtext bekomme?
Ich habe dabei an so Felder gedacht, die man auch mittels der F11-Taste anspricngen kann, aber wie kann man die ausm VBA raus ansprechen?
Oder gibts da vllt. noch ne elegantere Lösung? Sollten, nach Möglichkeit, Felder sein, die immer wieder angesproch werden können, und der Inhalt durch erneutes Zuweisen von Daten durch das VBA-Script ausgetauscht werden kann.
Weil Labels, oder andere Objekte kann ich nicht nehmen, da die Daten ja im Fließtext sein sollen, und auch mehrzeilig sein können. Bei ner Website hätte ich da nen span-Element genommen, welches ich vom JS aus hätte ansprechen können
Hat mir da jemand ne Lösung oder irgend ne Idee, wie ich an dieser Stelle meines Problems weiter kommen könnte?
Vielen Dank
Gruß Stefan
PS: Sollte mit Word 2003 realisierbar sein.
Ich habe eine vorgefertigte Word-Vorlage, in die ich in den Fließtext an bestimmte Stellen Daten mittels eines Makros einsetzen muss.
Wie lässt sich das am besten realisieren, dass ich diese Daten per VBA auch an die entsprechende Stelle in meinen Fließtext bekomme?
Ich habe dabei an so Felder gedacht, die man auch mittels der F11-Taste anspricngen kann, aber wie kann man die ausm VBA raus ansprechen?
Oder gibts da vllt. noch ne elegantere Lösung? Sollten, nach Möglichkeit, Felder sein, die immer wieder angesproch werden können, und der Inhalt durch erneutes Zuweisen von Daten durch das VBA-Script ausgetauscht werden kann.
Weil Labels, oder andere Objekte kann ich nicht nehmen, da die Daten ja im Fließtext sein sollen, und auch mehrzeilig sein können. Bei ner Website hätte ich da nen span-Element genommen, welches ich vom JS aus hätte ansprechen können
Hat mir da jemand ne Lösung oder irgend ne Idee, wie ich an dieser Stelle meines Problems weiter kommen könnte?
Vielen Dank
Gruß Stefan
PS: Sollte mit Word 2003 realisierbar sein.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 122635
Url: https://administrator.de/contentid/122635
Ausgedruckt am: 25.11.2024 um 20:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo,
also ich würde als Felder in die der Benutzer den Text eingibt normale "Textfelder" aus der Steuerelemente-Toolbox verwenden. In den Eigenschaften des Textfeld's die Eigenschaft "Multi-Line" auf True und dann sind auch mehrzeilige Text möglich.
Zum Ersetzen der bestimmten Textstellen gibt es zwei Möglichkeiten.
1. Am Ende (nach allen Benutzereingaben), hier kannst du z.B. mit der Funktion instr() nach den bestimmten Wörter, Zeichen, etc. in den einzelnen Textfeldern suchen und bekommst die genaue Position zurück geliefert. Du kannst aber auch gleich mit der Funktion replace() die entsprechenden Wörter, Zeichen durch andere ersetzen.
2. Bei jeder Eingabe in die Textbox die komplette Textbox auf das auftreten bestimmter Wörter, Zeichen durchsuchen und ersetzen. Das ist aber mit VBA nicht sehr Ressourcen schonend, sollte aber zum Beispiel mit einer Überprüfung im "Key-Press"-Ereignis der Textbox möglich sein.
MfG
also ich würde als Felder in die der Benutzer den Text eingibt normale "Textfelder" aus der Steuerelemente-Toolbox verwenden. In den Eigenschaften des Textfeld's die Eigenschaft "Multi-Line" auf True und dann sind auch mehrzeilige Text möglich.
Zum Ersetzen der bestimmten Textstellen gibt es zwei Möglichkeiten.
1. Am Ende (nach allen Benutzereingaben), hier kannst du z.B. mit der Funktion instr() nach den bestimmten Wörter, Zeichen, etc. in den einzelnen Textfeldern suchen und bekommst die genaue Position zurück geliefert. Du kannst aber auch gleich mit der Funktion replace() die entsprechenden Wörter, Zeichen durch andere ersetzen.
2. Bei jeder Eingabe in die Textbox die komplette Textbox auf das auftreten bestimmter Wörter, Zeichen durchsuchen und ersetzen. Das ist aber mit VBA nicht sehr Ressourcen schonend, sollte aber zum Beispiel mit einer Überprüfung im "Key-Press"-Ereignis der Textbox möglich sein.
MfG