Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1968to1972
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Aus Excel Textmarken in Worddokument setzen und befüllen

Aus Excel Textmarken in Worddokument setzen und befüllen
20.03.2024 11:52:40
Mr.Robbo
Liebe Excel-Kollegen,

ich habe ein Problem für das ich keine Lösung finde. Hat jemand von Euch eine Idee?
Danke für's lesen!

Mein Problem:
Ich möchte während der Laufzeit des Excel-VBA-Codes in einer Worddatei die von Excel mit VBA geöffnet wurde, Textmarken setzen und anschließend mit Daten aus Excel befüllen.

Das befüllen von Textmarken mit Daten ist nicht kompliziert und viel beschrieben. Ich finde aber keinen Weg wie man die Textmarken während der Laufzeit automatisiert erzeugen kann.

Hintergrund:
Ich extrahiere aus JSON die relevanten Daten von Flügen, die dann zeilenweise in einem Worddokument editiert- und anschließend als PDF gespeichert werden sollen.
(Quasi einen Flugplan schreiben: VonFlughafen-nachFlughafen-DatumAbflug-ZeitAbflug-DatumAnkunft-ZeitAnkunft)
Dazu muss das Worddokument die richtige Anzahl von Zeilen und Textmarken haben.
Mein Wunschansatz:
Die erste Zeile wird so oft kopiert wie Flüge vorhanden sind, dann werden die Textmarken geschrieben und mit Daten befüllt und gut.
Als Workaround könnte ich natürlich für jede mögliche Anzahl von Flügen ein Muster erzeugen. Das ist aber ziemlich unelegant, wegen der vielen redundanten Daten und eventuellen Änderungen an den Mustern.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus Excel Textmarken in Worddokument setzen und befüllen
20.03.2024 12:24:01
Peter Trawinski
Hi Mr. Robbo,

ich kenne zwar keine Lösung um Textmarken zu erzeugen, aber ich habe in meinen Wordvorlagen an solchen Stellen einfach nur EINE Textmarke und erzeuge per Excel den (variabel) mehrzeiligen Text und setze ihn als ganzes ein.

Wäre das eine Lösung für dich?
AW: Aus Excel Textmarken in Worddokument setzen und befüllen
20.03.2024 13:06:34
Mr.Robbo
Hallo Peter,

danke für die Antwort!

Ich denke das wird nicht so gut funktionieren, da ich die Daten gar nicht in der Tabelle habe, sondern nur in Variablen im Code. Aber ich probiere mal aus, die Daten in Excel zwischenzuparken.

Lieben Gruß, Roland
AW: Aus Excel Textmarken in Worddokument setzen und befüllen
20.03.2024 16:29:56
Stefan Wegscheider
hallo,
das Wort das die Textmarke darstellen soll wird normal in word als string eingefügt und dann
im Objekt word per VBA in eine Textmarke umgewandelt.
zb. so
str_text = "mark1"
.Bookmarks.Add Name:="mark1", Range:=.Paragraphs(9).Range
Anzeige
AW: Aus Excel Textmarken in Worddokument setzen und befüllen
20.03.2024 18:28:42
Mr.Robbo
Hallo Stefan,

vielen Dank für den Input!

Ich habe mal ein Muster erstellt, wie das etwa gedacht ist.

Markieren der richtigen Stelle zum einfügen der Textmarke (hier in einer Tabelle in der Wordinstanz) klappt problemlos. Nur das Einfügen einer Textmarke will nicht klappen. Ich habe schon etliche Formate ausprobiert, aber es gibt immer Fehler 450 Falsche Anzahl von Argumenten oder ungültige Eigenschaftszuweisung.

Danke nochmals für die Hilfe, Gruß, Roland

Beispiel:




'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sub Worddatei_öffnen_und_Textmarke_Setzen()
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Set appWord = CreateObject("Word.Application")
appWord.Visible = True

'WordDatei erstellen/öffnen
Set doctest = appWord.Documents.Add


With doctest

Set myRange = doctest.Range(Start:=pos, End:=pos2)

'Tabelle in Worddatei einfügen und die erste Zelle markieren
.tables.Add Range:=myRange, NumRows:=2, NumColumns:=9
.tables(1).Rows(1).Cells(1).Select

'Hier eine Textmarke schreiben
.Selection.Bookmarks.Add , Range:=Selection.Range, Name:="TEST"

End With
End Sub
Anzeige
AW: Aus Excel Textmarken in Worddokument setzen und befüllen
20.03.2024 19:57:47
Stefan wegscheider
Hallo,
Du musst zuerst das Wort als String in die Tabelle bekommen,dort wo du es später als Bookmark haben willst, das muss einmal so drinnenstehen.
Dann erst dieses Wort in ein Bookmark umwandeln, mit Bookmark.add…
Dem bookmark.add sagst du dann eben wo das Wort steht, also Adresse, und wie das Wort heißt, so wie in deinem Code schon dargelegt.
Ich komme heute nicht mehr zum nachbauen, schaue ob es sich morgen ausgeht.
AW: Aus Excel Textmarken in Worddokument setzen und befüllen
20.03.2024 22:11:55
ralf_b
wie wärs damit?
.Bookmarks.Add Range:=.tables(1).Rows(1).Cells(1), Name:="TEST"
AW: Aus Excel Textmarken in Worddokument setzen und befüllen
21.03.2024 14:55:49
Stefan Wegscheider
hallo
https://www.herber.de/bbs/user/168225.xlsm

hab dir es nachgebaut,
das erste Beispiel spricht die erste Zelle in der Tabelle über die Range an und setzt dort die bookmark.
das zweite Beispiel geht alle Zellen der Word Tabelle mit einer Schleife durch und setzt in die erste gezählte Zelle der Tabelle die bookmark.
das ist einfacher wenn man Zelleninhalte von Excel in die Wordtabelle bekommen will.

lg Stefan

ps danke auch nochmal an ralf_b für den word-Code den er mit vor einigen Tagen geschickt hat , hat sehr viel geholfen.
Anzeige
AW: Aus Excel Textmarken in Worddokument setzen und befüllen
22.03.2024 11:02:06
Mr.Robbo
Hallo lieber Stefan,

ganz herzlichen Dank für Deine Hilfe und Dein Muster, das ist Weltklasse. Genau was ich gesucht habe und nirgends finden konnte. Danke, danke danke!

Auch ein herzliches Dankeschön an alle anderen, auch Eure Inputs haben mich weitergebracht.

Ganz liebe Grüße aus Braunschweig, Roland


Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige