Aus Access Word-Dokument erzeugen

Hallo,

Ich versuche gerade, aus Access ein Word-Dokument nach einer fonds_Brief.dot zu erzeugen und vor allem die darin gesetzten Textmarken zu ersetzen. Die Bookmarks werden gefunden und markiert, jedoch nicht durch meinen Text ersetzt. Woran liegt das?
Mein Code lautet so:

Private Sub cmdOK_Click()

Dim objWord As Word.Application
Dim strDot As String
Dim strDatei As String
Dim objDatei As Word.Document

strDot = „S:\fonds\Arbeitsdaten\Test\fonds_Brief.dot“

Set objWord = GetObject(, „Word.Application“)
'On Error GoTo Err_cmdOK_Click
On Error GoTo 0

strDatei = CurrentProject.Path & „\Docs“ & Forms!frm_Antraege!strApplicantName & „_“ & Forms!frm_Antraege!strApplicantVorname & „.doc“

If objWord Is Nothing Then
Set objWord = CreateObject(„Word.Application“)

With objWord
.Visible = True
.Documents.Add Template:=strDot

End With

With objWord.ActiveDocument

.Bookmarks(„Anrede“).Select
.Selection.Replace = CStr(Forms!frm_Antraege!strApplicantAnrede)

.Bookmarks(“Vorname”).Select
.Selection.Text = Forms!frm_Antraege.Form!strApplicantVorname

'usw…

.SaveAs FileName:=strDatei

End With

'objWord.Quit
'Set objWord = Nothing

End If

Hallo,

Ich versuche gerade, aus Access ein Word-Dokument nach einer
fonds_Brief.dot zu erzeugen und vor allem die darin gesetzten
Textmarken zu ersetzen. Die Bookmarks werden gefunden und
markiert, jedoch nicht durch meinen Text ersetzt. Woran liegt
das?
Mein Code lautet so:

Private Sub cmdOK_Click()

Dim objWord As Word.Application
Dim strDot As String
Dim strDatei As String
Dim objDatei As Word.Document

strDot = „S:\fonds\Arbeitsdaten\Test\fonds_Brief.dot“

Set objWord = GetObject(, „Word.Application“)
'On Error GoTo Err_cmdOK_Click
On Error GoTo 0

strDatei = CurrentProject.Path & „\Docs“ &
Forms!frm_Antraege!strApplicantName & „_“ &
Forms!frm_Antraege!strApplicantVorname & „.doc“

If objWord Is Nothing Then
Set objWord = CreateObject(„Word.Application“)

With objWord
.Visible = True
.Documents.Add Template:=strDot

End With

With objWord.ActiveDocument

**.Bookmarks(„Anrede“).Range.Text=nz(Me!strApplicantAnrede,"")

.Bookmarks(“Vorname”).Range.Text= nz(Me!strApplicantVorname,"")**

'usw…

.SaveAs FileName:=strDatei

End With

'objWord.Quit
'Set objWord = Nothing

End If

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Also so funktioniert es nun:

objWord.ActiveDocument.Bookmarks(„Vorname“).Select
objWord.Selection.Text = Nz(Forms!frm_Antraege.Form!strApplicantVorname, „“)

(das „.Range“ kennt mein Programm anscheinend nicht, sagt "Methode nicht bekannt)

Aber vielen Dank, df6gl, so kann ich leere Felder gleich berücksichtigen.

Kannst Du mir auch sagen, wie man das Word-Dokument aus Access gleich im Seitenlayout in Seitenbreite anzeigen läßt? Ich habe das noch nie gemacht.

Gruß aus Randberlin
Roter Adler

Hallo,

heißer Tipp: Zeichne in Word ein Makro auf, während Du den gewünschten Ablauf von Hand durchführst. Den „Makro-Code“ kannst Du dann nach Anpassung an das Word-Application-Objekt in Access einfach einsetzen und verwenden.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!