Thema Datum  Von Nutzer Rating
Antwort
Rot Problem mit füllen von Textmarken
14.12.2024 12:29:41 SaveTheQueen
NotSolved
14.12.2024 19:23:16 ralf_b
NotSolved
27.12.2024 08:43:31 ralf_b
NotSolved
25.12.2024 18:25:44 Gast59040
Solved

Ansicht des Beitrags:
Von:
SaveTheQueen
Datum:
14.12.2024 12:29:41
Views:
85
Rating: Antwort:
  Ja
Thema:
Problem mit füllen von Textmarken

Guten Tag,

ich habe eine MS Access Datenbank und möchte von daraus eine Kopie der Word-Vorlage erstellen und deren Textmarken füllen.

Leider funktioniert das nicht. Ich habe 2 Ansätze ausprobiert. Der 1. Ansatz setzt zwar den Text, überschreibt aber die Textmarken, so das die Textmarken im Ausgangsdokument verschwunden sind (unter Einfügen /Textmarke sind die Textmarken verschwunden).

 

Ansatz 2 mit ContenControls tut überhaupt nichts. Er öffnet zwar eine Kopie der Word-Vorlage, aber setzt keinen Text in die Textmarke. Dafür ist die Textmarke aber noch vorhanden, und wird nicht wie im 1. Ansatz überschrieben.

Beide Ansätze funktionieren also nicht... Ich habe leider keine Idee mehr, wo das Problem liegen könnte.

 

Ansatz 1:

Dim WObj As Object
Dim WDoc As Object

On Error Resume Next
Set WObj = GetObject(, "Word.Application")

On Error GoTo 0
'Wenn keine Instanz läuft, erstelle eine neue
If WObj Is Nothing Then
    Set WObj = CreateObject("Word.Application")
End If

'Dokument hinzufügen
Set WDoc = WObj.Documents.Add("PfadZurVorlage\Testvorlage.docx")

'Text in die geschlossene Textmarke einfügen
If WDoc.Bookmarks.Exists("markeName") Then
    WDoc.Bookmarks("markeName").Range.Text = Me.txtName
Else
    MsgBox "Die Textmarke 'markeName' wurde im Dokument nicht gefunden.", vbExclamation
End If

WObj.Visible = True
WObj.Activate

 

Ansatz 2:

Dim WObj As Object
Dim WDoc As Object

On Error Resume Next
Set WObj = GetObject(, "Word.Application")
On Error GoTo 0

'Wenn keine Instanz läuft, erstelle eine neue
If WObj Is Nothing Then
    Set WObj = CreateObject("Word.Application")
End If

'Dokument hinzufügen
Set WDoc = WObj.Documents.Add("PfadZurVorlage\Testvorlage.docx")
Dim cc As ContentControl

For Each cc In WDoc.ContentControls
Debug.Print "test" 'wird nicht ausgegeben bzw. Schleife wird nicht ausgeführt... Wieso?
    If cc.Title = "markeName" Then
        If cc.Range.Text <> "" Then
            cc.Range.Text = "test"

        End If
    End If
Next cc

WObj.Visible = True
WObj.Activate

 

Die Vorlage:

 

Textmarke füllen nach Variante 1 ergibt folgendes (Textmarke wird überschrieben/verschwindet):

 

 

Textmarke füllen nach Variante 2 mit ContenControls (Text wird nicht gesetzt):

 

Würde mich freuen, wenn jemand eine Idee hat. Vielen Dank!


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Problem mit füllen von Textmarken
14.12.2024 12:29:41 SaveTheQueen
NotSolved
14.12.2024 19:23:16 ralf_b
NotSolved
27.12.2024 08:43:31 ralf_b
NotSolved
25.12.2024 18:25:44 Gast59040
Solved