Supportnet / Forum / Datenbanken
Serienbrief in Word
Frage
Hallo zusammen!
Habe in VBA einen Code programiert mit dem ich Serienbriefe erstellen kann. (siehe Code)
[Code]
Public Function WordSerienbrief()
On Error GoTo proc_Err
Dim wrdanw As Object, wrddoc As Object
Dim Bedingung As String, VorlagenDatei As String
Dim ArbeitsVerz As String, DateiSpeichern As String, Steuerdatei As String
Dim frm As Form
Dim fehlernr As Long
Set frm = Screen.ActiveForm
fehlernr = 0
ArbeitsVerz = CurDir$ & "\"
Steuerdatei = ArbeitsVerz & "Datenquelle.DOC"
Bedingung = "Auswählen = TRUE"
VorlagenDatei = "Vorlage.DOT"
DateiSpeichern = ArbeitsVerz & "TestSerienbrief.DOC"
If DCount("*", "Kunden", Bedingung) = 0 Then
MsgBox "Es sind keine Datensätze zur Serienbrieferstellung ausgewählt!", vbInformation, "Serienbriefe"
GoTo proc_Exit
End If
DoCmd.TransferText acExportMerge, , "DatenexportAdressen", Steuerdatei
On Error Resume Next
Set wrdanw = GetObject(, "Word.application")
If Err Then
Err = 0
Set wrdanw = CreateObject("Word.application")
End If
On Error GoTo proc_Err
With wrdanw
.ChangeFileOpenDirectory ArbeitsVerz
.Documents.Add Template:=VorlagenDatei
With .ActiveDocument.MailMerge
.DataSource.QueryString = "SELECT * FROM " & Steuerdatei & ""
.Destination = wdSendToNewDocument
.Execute
End With
.ActiveDocument.SaveAs FileName:=DateiSpeichern
Set wrddoc = wrdanw.ActiveDocument
For Each wrddoc In .Documents
If wrddoc.Name Like "*Dokument*" Then
wrddoc.Close savechanges:=wdDoNotSaveChanges
End If
Next
.Visible = True
.WindowState = wdWindowStateMaximize
.ActiveWindow.View.Type = wdPageView
.Activate
End With
proc_Exit:
On Error Resume Next
If fehlernr > 0 Then
wrdanw.Quit savechanges:=wdDoNotSaveChanges
End If
Set wrdanw = Nothing
Set wrddoc = Nothing
Set frm = Nothing
Exit Function
proc_Err:
fehlernr = Err.Number
MsgBox Err.Description, vbInformation, "Fehler beim Datentransfer nach Word!"
Resume proc_Exit
End Function
[/Code]
Wenn ich die Funktion starten will, erscheint immer diese Fehlermeldung!
Aktualisieren nicht möglich; Datenbank oder Objekt ist schreibgeschützt!
Kann mir da vielleicht jemand weiterhelfen!
Danke
the..dude