Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Text einer Textmarke an anderer Stelle im Dokument anzeigen?
zurück: Excel Adressliste als Datenquelle - Problem beim durchsuchen weiter: Wenn Dann Sonst Problem beim Seriendruck (Office XP) Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
bbask
Gast


Verfasst am:
03. Apr 2009, 08:54
Rufname:

Text einer Textmarke an anderer Stelle im Dokument anzeigen? - Text einer Textmarke an anderer Stelle im Dokument anzeigen?

Nach oben
       Version: Office 2003

Hallo,

ich habe ein Worddokument in dem ich eine Textmarke (Datum) habe. Diese Textmarke wird über VBA mit Text gefüllt. Ich möchte nun das Datum auch an anderer Stelle im Dokument einfügen.

Hierzu bin ich wie folgt vorgegangen:

(Textmarke Datum ist bereits eingefügt.)
1. Menü: Einfügen/Feld...
2. Unter Kategorie 'Verknüpfungen und Verweise
3. Feldname 'Ref'

-> jetzt erscheinen in einer Auswahlbox alle meine Textmarken.

Ich wähle Datum aus und bestätige mit OK ohne eine Feldoption zu wählen.

Leider fügt Word diese Referenz nicht ein und es wird kein Datum angezeigt.


Kann mir jemand helfen?
Was mache ich falsch?


Danke für die Hilfe vorab!!

Gruß

bbask
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
05. Apr 2009, 15:19
Rufname:
Wohnort: Leipzig


AW: Text einer Textmarke an anderer Stelle im Dokument anzei - AW: Text einer Textmarke an anderer Stelle im Dokument anzei

Nach oben
       Version: Office 2003

Hallo bbask,

das funktioniert nur mit geschlossenen Textmarken (sehen aus wie eckige Klammern), die einen Text enthalten (in Deinem Fall das Datum). Bei offenen Textmarken (sehen aus wie ein I), hinter denen der Text steht, geht das nicht, da die Textmarke selbst den Text nicht enthält, er steht bloß dahinter.

Blende Dir mal in Extras - Optionen - Ansicht die Textmarken ein. Dann siehst Du, ob es sich um eine geschlossene handelt. Vermutlich nicht, denn Dein Vorgehen zum Einfügen des Querverweises ist richtig.

Du kannst eine solche geschlossene Textmarke über die Benutzerschnittstelle einfügen, indem Du das betreffende Datum markierst und mit Einfügen - Textmarke die Textmarke Datum einfügst. Danach kannst Du den Querverweis, wie beschrieben, setzen.

Auch über VBA lassen sich solche geschlossenen Textmarken erzeugen, da muss natürlich der VBA-Code geändert werden. Du kannst das leicht probieren. Mit diesem Code:
Code:
Sub TestmarkenSetzen()

    Selection.Bookmarks.Add Name:="Datum", Range:=Selection.Range

End Sub

wird an der Stelle, an der der Cursor steht, eine Textmarke namens Datum gesetzt. Falls kein Text markierst ist, wird eine offene Textmarke erzeugt. Falls vorher ein Wort oder Datum markiert war, wird die Textmarke um dieses Wort gesetzt.

Beim Ändern des VBA-Codes muss also die Textmarke so gesetzt/befüllt werden, dass ihr Range das Datum enthält.

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
bbask
Gast


Verfasst am:
06. Apr 2009, 14:20
Rufname:

AW: Text einer Textmarke an anderer Stelle im Dokument anzei - AW: Text einer Textmarke an anderer Stelle im Dokument anzei

Nach oben
       Version: Office 2003

Hallo Lisa!

Vielen Dank für deine exakte Anleitung!

Du hast Recht, ich habe eine offene Textmarke gesetzt.

Ich habe nun hinter der offenen Textmarke des Datums ein beliebiges Datum eingetragen (01.01.1900). Anschließend habe ich dieses Datum markiert und über Einfügen - Textmarke -> den Textmarkennamen 'Datum' (der ja bereits existiert) ausgewählt und zugewiesen. Word hat mir nun aus meiner offenen Textmarke eine geschlossene gemacht. Anschließend habe ich wie beschrieben den Querverweis gesetzt. Nun wurde das Datum 01.01.1900 auch auf den Folgeseiten übernommen. Ich habe mir das Dokument als Vorlage (.dot) gespeichert und über Excel mein VBA-Programm aufgerufen, welches die aktuellen Daten an die Textmarken einfügt und anschließend druckt.

Leider wurde nur auf der ersten Seite (da wo meine neue geschlossene Textmarke steht) das neue Datum eingetragen, auf den Folgeseiten wurde "Fehler! Verweisquelle konnte nicht gefunden werden." angezeigt. Confused

Falls Du hierzu noch einen Tipp für mich hast freue ich mich, ansonsten werde ich das Problem ggf. umgehen indem ich auf den folgeseiten Textmarken a la Datum2, Datum3, ... einfüge.

Vielen Dank nochmal!!

bbask
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
06. Apr 2009, 15:27
Rufname:
Wohnort: Leipzig

AW: Text einer Textmarke an anderer Stelle im Dokument anzei - AW: Text einer Textmarke an anderer Stelle im Dokument anzei

Nach oben
       Version: Office 2003

Hallo bbask,
Zitat:
... und über Excel mein VBA-Programm aufgerufen, welches die aktuellen Daten an die Textmarken einfügt und anschließend druckt.

Und da liegt der Hase im Pfeffer! Der Code in dem Excel-Programm muss geändert werden, es geht offensichtlich nur um die Zeile, die an der Textmarke das Datum einfügt. Kannst Du die mal bitte zeigen? Dann kann man die ändern.

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
Gast



Verfasst am:
07. Apr 2009, 11:00
Rufname:


AW: Text einer Textmarke an anderer Stelle im Dokument anzei - AW: Text einer Textmarke an anderer Stelle im Dokument anzei

Nach oben
       Version: Office 2003

Hallo,

hier ist der Code:


Code:
Set wdApp = New Word.Application
          wdApp.Documents.Open (strPfad & "\Vorlagen\" & strVorlage)
          'Textmarken füllen
          Call MyFillTextmark(wdApp, "Datum", Left(datDatum, 10))


Code:
Sub MyFillTextmark(App As Word.Application, strBookmark, strValue)
  Dim dummy As Double
 
  'Textmarken füllen
  If App.ActiveDocument.Bookmarks.Exists(strBookmark) = True Then
    App.ActiveDocument.Bookmarks(strBookmark).Range.Text = strValue
  Else
    dummy = MsgBox("Textmarke " & strBookmark & " existiert nicht. (bs)", vbCritical)
  End If
End Sub
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
07. Apr 2009, 11:56
Rufname:
Wohnort: Leipzig

AW: Text einer Textmarke an anderer Stelle im Dokument anzei - AW: Text einer Textmarke an anderer Stelle im Dokument anzei

Nach oben
       Version: Office 2003

Hallo bbask,

OK, nimm mal diese MyFillTextmark stattdessen, die erzeugt eine geschlossene Textmarke statt der offenen (ich bin davon ausgegangen, dass in dem Excel-Project ein Veweis auf die Word Object Library gesetzt ist, so sieht jedenfalls der Code aus):
Code:
Sub MyFillTextmark(App As Word.Application, strBookmark, strValue)
  Dim dummy As Double
  Dim rng As Word.Range
 
  'Textmarken füllen
  If App.ActiveDocument.Bookmarks.Exists(strBookmark) = True Then
    Set rng = App.ActiveDocument.Bookmarks(strBookmark).Range
    rng.Text = strValue
    App.ActiveDocument.Bookmarks.Add Name:=strBookmark, Range:=rng
  Else
    dummy = MsgBox("Textmarke " & strBookmark & " existiert nicht. (bs)", vbCritical)
  End If
  Set rng = Nothing
End Sub

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
Gast



Verfasst am:
07. Apr 2009, 12:48
Rufname:

AW: Text einer Textmarke an anderer Stelle im Dokument anzei - AW: Text einer Textmarke an anderer Stelle im Dokument anzei

Nach oben
       Version: Office 2003

Cool - es funktioniert!!

ABER: Ich versteh meinen (deinen) Code nicht mehr zu 100%.

Mein Verständnis:

- rng ist ein Word.Range-Objekt
- dem weise ich das? Range von strBookmarks zu
- anschließen die Texteigenschaft von rng setzten

aber jetzt:
- mit add eine Bookmark hinzufügen???

die Textmarken habe ich doch schon händisch in meine Vorlage eingefügt (sonst wäre ja auch die Position des Datums nicht definiert)

Wenn Du noch nicht zu genervt bist, wäre es nett, wenn Du mir diese Sache kurz erklären kannst.

Ansonsten: Tausend Dank - man lernt nie aus!!!

Gruß

bbask
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
07. Apr 2009, 12:59
Rufname:
Wohnort: Leipzig

AW: Text einer Textmarke an anderer Stelle im Dokument anzei - AW: Text einer Textmarke an anderer Stelle im Dokument anzei

Nach oben
       Version: Office 2003

Hallo bbask,

das ist doch löblich, dass Du das verstehen willst. Und in gewisser Weise hast Du recht. Textmarken lassen sich in Word leicht überschreiben und versehentlich löschen, nämlich indem man sie einfach überschreibt.

Wir machen deswegen Folgendes: In die Range-Variable fassen wir den Range der (offenen) Bookmark, soweit klar. Diesem Range weisen wir Text zu, auch klar. Danach steht jedoch die (offene) Bookmark VOR dem Text. Deswegen setzen wir die Bookmark neu, und zwar jetzt geschlossen, indem wir sie um den neu gebildeten Range setzen. Damit enthält sie den vorher eingefügten Text. Damit ist sie geschlossen. Jede Bookmark ist immer einzigartig, sie kommt nur einmal im Text vor, egal ob offen oder geschlossen. Wir setzen also keine zweite Bookmark, sondern "versetzen" sie nur, so dass sie den eingefügten Text auch wirklich enthält (und nicht nur davorsteht).

Diese geschlossenen Textmarken kann man mit genau dieser Routine auch x-mal befüllen, wobei jeweils der vorher vorhandene Text gelöscht wird und mit dem übergebenen Text ersetzt wird:
Code:
Public Sub ReSetBookmark(ByVal doc As Word.Document, ByVal TMName As String, ByVal TMInhalt As String)
'Recycling-Textmarke mit übernommenen Werten, geht für alle Textmarken

    Dim rng As Range
   
    If doc.Bookmarks.Exists(TMName) Then
        Set rng = doc.Bookmarks(TMName).Range
        rng.Text = TMInhalt
        doc.Bookmarks.Add Name:=TMName, Range:=rng
    End If
   
    Set rng = Nothing
   
End Sub

Damit wird jeweils die geschlossene Textmarke mit dem neuen Text gefüllt (der vorherige Text wird gelöscht).
Würde man eine offene Bookmark ein zweites Mal füllen:
Code:
App.ActiveDocument.Bookmarks(strBookmark).Range.Text = strValue

wird der Text immer am Anfang eingeschoben, so dass der alte Text immer noch dahinter steht.

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
Gast



Verfasst am:
07. Apr 2009, 13:07
Rufname:


AW: Text einer Textmarke an anderer Stelle im Dokument anzei - AW: Text einer Textmarke an anderer Stelle im Dokument anzei

Nach oben
       Version: Office 2003

Klasse!

Hab ich verstanden.

Vielen Dank für die ausführliche Hilfe. Echt Super nett.

bbask
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Word Serienbriefe: Seriendruckfeld nur anzeigen/drucken wenn Bedingung erfüllt 4 PeterLustig 7460 19. Feb 2014, 23:32
MarkMH_K Seriendruckfeld nur anzeigen/drucken wenn Bedingung erfüllt
Keine neuen Beiträge Word Serienbriefe: Mergefield:nur einige zeichen anzeigen 4 rradium 2053 24. Jan 2014, 10:23
Gast Mergefield:nur einige zeichen anzeigen
Keine neuen Beiträge Word Serienbriefe: Serienbrief aus Access: bestimmte Adresse anzeigen 12 Wolfgang27 6874 26. Sep 2011, 15:15
logicalsmile Serienbrief aus Access: bestimmte Adresse anzeigen
Keine neuen Beiträge Word Serienbriefe: Einfügen versch. Adressen aus einer Datenqu. in ein Dokument 9 Gast 921 04. Nov 2009, 15:02
charlybrown Einfügen versch. Adressen aus einer Datenqu. in ein Dokument
Keine neuen Beiträge Word Serienbriefe: Text im Serienbrief nach Anrede auswählen (wenn/dann) 4 Iris26 4158 06. Aug 2009, 12:38
Gast Text im Serienbrief nach Anrede auswählen (wenn/dann)
Keine neuen Beiträge Word Serienbriefe: wenn datenfeld leer dann Zeile nicht anzeigen?! 6 picknicker84 5615 11. Jan 2009, 15:03
charlybrown wenn datenfeld leer dann Zeile nicht anzeigen?!
Keine neuen Beiträge Word Serienbriefe: Wenn - dann - sonst mit Textmarke 0 AndyW 792 11. Nov 2008, 14:21
AndyW Wenn - dann - sonst mit Textmarke
Keine neuen Beiträge Word Serienbriefe: Seriendruck in neues Dokument 1 Bogusine 613 05. Sep 2008, 08:03
Dominik C. Seriendruck in neues Dokument
Keine neuen Beiträge Word Serienbriefe: Einzelnen Datensatz aus Access 2007 in Word 2007 anzeigen 0 ermso07 3429 29. Mai 2008, 17:31
ermso07 Einzelnen Datensatz aus Access 2007 in Word 2007 anzeigen
Keine neuen Beiträge Word Serienbriefe: Serienbrief mit Anlage UND Text/Signatur im Outlook - wie? 0 Marmar77 1300 12. Feb 2008, 14:38
Marmar77 Serienbrief mit Anlage UND Text/Signatur im Outlook - wie?
Keine neuen Beiträge Word Serienbriefe: Grauen Feldhintergrund standardmässig anzeigen? 2 bjoern25 1635 23. Jan 2008, 10:14
bjoern25 Grauen Feldhintergrund standardmässig anzeigen?
Keine neuen Beiträge Word Serienbriefe: Dropdown Feld und "Sverweis" in Word Dokument 2 pg03 7980 29. Nov 2007, 23:45
badangel Dropdown Feld und "Sverweis" in Word Dokument
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Word Serienbriefe