Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1892to1896
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

Word Felder mit Text ersetzen

Word Felder mit Text ersetzen
05.08.2022 22:53:46
Stefan
Hallo,
ich erstelle gerade ein etwas umfangreicheres Tool, um von Daten aus einer Mail eine Rechnung zu erstellen.
Prinzipiell funktioniert alles wie es soll, aber mit der Formatierung bin ich noch nicht ganz zufrieden, es fehlen an ein paar Stellen €-zeichen usw..
Ich starte das Makro aus Outlook und befülle damit in Word (*.dotx) an bestimmten vorher festgelegten Textmarken den Inhalt.
objWord.ActiveDocument.bookmarks("Re_Datum").Range.Text = Re_Datum
Das Problem ist, dass ich im Nachgang nicht sehe, wo genau die Textmarken sich befinden, was die nachträgliche Formatierung schwieriger macht.
Gibt es eine bessere Möglichkeiten, um die Felder in Word dauerhaft sichtbar zu lassen und wo man dennoch mit VBA dann einfach die Werte einfügen kann?
VG Stefan

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Word Felder mit Text ersetzen
05.08.2022 23:49:50
ralf_b
Kennst du den Unterschied zwischen geschlossenen und offenen Textmarken?
AW: Word Felder mit Text ersetzen
06.08.2022 09:45:30
Luschi
Hallo Stefan,
geschlossene Textmarken werden beim Befüllen (egal ob per Hand oder durch Vba) von Word freigegeben (zerstört). Mit der folgenden Routine kann man es zwar nicht verhindern, aber die TM's sofort wieder erstellen:
    sw_Inhalt1 = "Halli - Hallo - Hallu"
    sw_Inhalt2 = "Na - Sowas - darf - doch - nicht - sein"
''Word im Vordergrund initialisieren
''per 'late binding' - dies bedarf keines Extra-Verweises!
Set wordApp = CreateObject("Word.Application")
Set doc = wordApp.Documents.Open(filepath_RM & docName)
With wordApp
    .Visible = True
End With
'Worddatei mit Excel Inhalt befüllen
'in Word befinden sich geschlossene Textmarken (bookmarks)
'beim Befüllen werden diese TM's von Word aufgelöst!
'deshalb wird in der Vba-Routine die aufgelöste TM sofort _
wieder neu erstellt!
'TM_1 - Name der Textmarke
' sw_name1 - neuer Inhalt der Textmarke
Call UpdateBookmark(doc, "TM_1", sw_Inhalt1)
Call UpdateBookmark(doc, "TM_2", sw_Inhalt2)

Sub UpdateBookmark(wdoc As Object, BookmarkToUpdate As String, TextToUse As String)
    Dim BMRange As Object
    Set BMRange = wdoc.Bookmarks(BookmarkToUpdate).Range
    BMRange.Text = TextToUse
    wdoc.Bookmarks.Add BookmarkToUpdate, BMRange
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Word Felder mit Text ersetzen
07.08.2022 11:29:35
Stefan
Hallo,
danke für eure Antworten und Hinweise.
Nach dem Bearbeiten können die Textmarken ruhig gelöscht werden. Mir war nur wichtig zu sehen, wo diese eigentlich in der Vorlage positioniert sind, um diese gestalten zu können.
Am Ende hat es mir weitergeholfen, einfach die Textmarken anzeigen zu lassen.
Optionen - Erweitert - Textmarken anzeigen (Haken)
Der Haken war bei mir erst noch nicht drin.
Eigentlich hatte ich gedacht, dass man solche grauen Felder einfügen kann, wie wenn man einen Serienbrief ohne VBA erzeugt. Aber scheinbar geht das nicht so einfach.
Das einfache einblenden der Textmarken hat mir allerdings geholfen.
VG Stefan
Anzeige

254 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige