09.08.2023, 08:03
Hallo zusammen ich bekomme die Krise,
ich hab eine Exceltabelle gebastelt, welche aus einer Datenbank Daten selektiert, filtert und dann die Kundendaten in excel schreibt.
Diese sollen dann für einen Serienbrief in Word genutzt werden. Händisch klappt es.
Wenn ich versuche per VBA in Excel Word aufzurufen oder VBA in Word zu nutzen kommt die Fehlermeldung:
Laufzeitfehler'4605':
Diese Methode oder Eigenschaft ist nicht verfügbar, weil das Dokument kein Seriendruck-Hauptdokument ist.
Ich weiß was ich hier machen soll um den Fehler zu beheben.
Hier der ganze Code von VBA-Word:
private Sub Document_Open()
ErstelleUndExportierePDF
End Sub
Sub ErstelleUndExportierePDF()
' Seriendruck durchführen
ActiveDocument.MailMerge.Execute
' Datum ermitteln
Dim heute As String
heute = Format(Date, "dd.MM.yyyy")
' Pfad für Archiv-Ordner erstellen
Dim archivPath As String
archivPath = ThisDocument.Path & "\Archiv\"
' Prüfen, ob der Archiv-Ordner existiert, andernfalls erstellen
On Error Resume Next
MkDir archivPath
On Error GoTo 0
' PDF erstellen
Dim pdfName As String
pdfName = archivPath & "HU anschreiben mit Datum " & heute & ".pdf"
With ActiveDocument
.ExportAsFixedFormat OutputFileName:=pdfName, _
ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, _
IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
True, UseISO19005_1:=False
End With
' Seriendruckfelder zurücksetzen
ActiveDocument.MailMerge.MainDocumentType = wdNotAMergeDocument
' Word-Dokument schließen
ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
On Error Resume Next ' Fehler abfangen, falls Word nicht geöffnet ist
Application.Quit ' Word schließen
On Error GoTo 0 ' Fehlerbehandlung wieder einschalten
End Sub
ich hab eine Exceltabelle gebastelt, welche aus einer Datenbank Daten selektiert, filtert und dann die Kundendaten in excel schreibt.
Diese sollen dann für einen Serienbrief in Word genutzt werden. Händisch klappt es.
Wenn ich versuche per VBA in Excel Word aufzurufen oder VBA in Word zu nutzen kommt die Fehlermeldung:
Laufzeitfehler'4605':
Diese Methode oder Eigenschaft ist nicht verfügbar, weil das Dokument kein Seriendruck-Hauptdokument ist.
Ich weiß was ich hier machen soll um den Fehler zu beheben.
Hier der ganze Code von VBA-Word:
private Sub Document_Open()
ErstelleUndExportierePDF
End Sub
Sub ErstelleUndExportierePDF()
' Seriendruck durchführen
ActiveDocument.MailMerge.Execute
' Datum ermitteln
Dim heute As String
heute = Format(Date, "dd.MM.yyyy")
' Pfad für Archiv-Ordner erstellen
Dim archivPath As String
archivPath = ThisDocument.Path & "\Archiv\"
' Prüfen, ob der Archiv-Ordner existiert, andernfalls erstellen
On Error Resume Next
MkDir archivPath
On Error GoTo 0
' PDF erstellen
Dim pdfName As String
pdfName = archivPath & "HU anschreiben mit Datum " & heute & ".pdf"
With ActiveDocument
.ExportAsFixedFormat OutputFileName:=pdfName, _
ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, _
IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
True, UseISO19005_1:=False
End With
' Seriendruckfelder zurücksetzen
ActiveDocument.MailMerge.MainDocumentType = wdNotAMergeDocument
' Word-Dokument schließen
ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
On Error Resume Next ' Fehler abfangen, falls Word nicht geöffnet ist
Application.Quit ' Word schließen
On Error GoTo 0 ' Fehlerbehandlung wieder einschalten
End Sub