Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1960to1964
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Serienbrief erzeugt und gespeichert keine Mail möglich

Serienbrief erzeugt und gespeichert keine Mail möglich
05.02.2024 14:33:04
Holger
Hallo Zusammen, Vorab ich habe sehr bescheidene VBA Kenntnisse, alles was ich da zusammengebaut habe ist aus dem Netz geholt.
Ich habe eine größere Excel Kundendatei erzeugt Es sind 50 Kunden die Arbeitsnachweise bekommen sollen. Ich erzeuge die Berichte per Serienbrief in einem Ordner der nach Datum erzeugt und als Worddokument gespeichert. Im gleichen Schritt wird das Word als PDF gewandelt und je nach Auswahl einer Zelle in den Orner PDF gespeichert oder in den Ordner Mail. Ich möchte das automatisiert die PDF Dokumente die im Orner Mail gespeichert sind per Anhang gesendet werden. Da kommt es dann aber zum Debuggen. Laufzeitfehler 1004 Die Methode Range für das Objekt _Worksheet ist fehlgeschlagen. Ich hab das im Code Markiert mit '----hier ist das Problem ------
Vieleicht hat jemand einen Tipp zur Problemlösung. Es ist auch nicht den kompletten Code, wäre zu verwirrend.




Sub ExportToWord2()


Dim wordapp As New Word.Application
Dim doc As Word.Document
Dim Zeile As Long
Dim FSO As New FileSystemObject
Dim strPfad As String
Dim heute As String
Dim Ordner As String
Dim oApp As New Outlook.Application
Dim oMail As Outlook.MailItem
Dim DateiName As String

'pfad setzen und Ordner erstellen
strPfad = "D:\Mario\Berichte\datum"
FSO.CreateFolder strPfad & "\" & Format(Date, "DD-MM-YYYY")

Ordner = FSO.GetFolder(strPfad)

'Word sichtbar machen
wordapp.Visible = True

For Zeile = 2 To shArbeitsnachweise_drucken.Cells(Rows.Count, 1).End(xlUp).Row

'Word-Datei öffnen
Set doc = wordapp.Documents.Open("D:\Mario\Einsatzbericht1.docx")

'Word-Datei mit Exceldaten befüllen
doc.Bookmarks("Name").Range.Text = shArbeitsnachweise_drucken.Cells(Zeile, 2).Value
doc.Bookmarks("Straße").Range.Text = shArbeitsnachweise_drucken.Cells(Zeile, 3).Value
doc.Bookmarks("Ort").Range.Text = shArbeitsnachweise_drucken.Cells(Zeile, 4).Value
doc.Bookmarks("Mail").Range.Text = shArbeitsnachweise_drucken.Cells(Zeile, 93).Value
doc.Bookmarks("Datum").Range.Text = shArbeitsnachweise_drucken.Cells(Zeile, 6).Value
doc.Bookmarks("Kg").Range.Text = shArbeitsnachweise_drucken.Cells(Zeile, 7).Value
'Es geht noch weiter bis zur Zelle 92 .............


' neuen Pfad auslesen
heute = Format(Date, "DD-MM-YYYY")
strPfad = "D:\Mario\Berichte\Datum\" & heute & "\"

'Word-Datei abspeichern
doc.SaveAs2 strPfad & shArbeitsnachweise_drucken.Cells(Zeile, 1) & " " & shArbeitsnachweise_drucken.Cells(Zeile, 2).Value & ".docx"


'Word als PDF speichern

If shArbeitsnachweise_drucken.Cells(Zeile, 86).Value = "Ja" Then
doc.ExportAsFixedFormat "D:\Mario\Berichte\MAIL\" & shArbeitsnachweise_drucken.Cells(Zeile, 1) & " " & shArbeitsnachweise_drucken.Cells(Zeile, 2).Value & " " & shArbeitsnachweise_drucken.Cells(Zeile, 86).Value & ".pdf", wdExportFormatPDF
DateiName = "D:\Mario\Berichte\MAIL\" & shArbeitsnachweise_drucken.Cells(Zeile, 1) & " " & shArbeitsnachweise_drucken.Cells(Zeile, 2).Value & " " & shArbeitsnachweise_drucken.Cells(Zeile, 86).Value & ".pdf"

'PDF per Mail senden

' ---------------- hier ist das Problem ---------------
'------------------------------------------------------

Set oMail = oApp.CreateItem(olMailItem)

With oMail
.BodyFormat = olFormatHTML
.Display
.To = shAbrechnung.Range("Zeile, 2").Value
'.Subject = "Arbeitsnachweis vom Zeitraum" & " " & shAbrechnung.Range("Zeile, 87").Value & " bis zum " & shAbrechnung.Range("Zeile, 88").Value
.Subject = "Arbeitsnachweis vom Zeitraum"
.HTMLBody = "Sehr geehrte(r)" & " " & shAbrechnung.Range("Zeile, 2").Value
.Attachments.Add DateiName
.Send

End With

Else
doc.ExportAsFixedFormat "D:\Mario\Berichte\PDF\" & shArbeitsnachweise_drucken.Cells(Zeile, 1) & " " & shArbeitsnachweise_drucken.Cells(Zeile, 2).Value & " " & shArbeitsnachweise_drucken.Cells(Zeile, 86).Value & ".pdf", wdExportFormatPDF
End If

'Word-Datei schließen
doc.Close savechanges:=False

Next Zeile

'Word-Applikation schließen
wordapp.Quit

End Sub


13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Serienbrief erzeugt und gespeichert keine Mail möglich
05.02.2024 14:55:23
onur
"hier ist das Problem" ???
WO denn ?
AW: Serienbrief erzeugt und gespeichert keine Mail möglich
05.02.2024 17:59:15
Holger
Hallo Onur, wenn ich ab
Set oMail bis End With auskomentiere funktioniert der gesamte ablauf nur das Mail senden eben nicht.
AW: Serienbrief erzeugt und gespeichert keine Mail möglich
05.02.2024 18:02:20
onur
Was Ralf_b schon schrieb:
shAbrechnung ist weder dimensioniert noch hat es eine Zuweisung - existiert praktisch nicht.
AW: Serienbrief erzeugt und gespeichert keine Mail möglich
05.02.2024 18:09:07
ralf_b
das war ich nicht. aber stimmt ja trotzdem. Und was "Zeile" angeht. Die Variable gibts zwar weiter oben, dürfte aber mit dem anderen Blatt dann nicht passen.
AW: Serienbrief erzeugt und gespeichert keine Mail möglich
05.02.2024 18:11:03
onur
Deswegen wäre es mal gut, wenn wir die ganze Datei (oder zumindest alle Codes) hätten.
AW: Serienbrief erzeugt und gespeichert keine Mail möglich
05.02.2024 14:58:10
peter
Hallo

Wo wird "shAbrechnung" definiert, bzw. heißt die Tabelle auch wirklich genau so.

Peter
Anzeige
AW: Serienbrief erzeugt und gespeichert keine Mail möglich
05.02.2024 18:01:44
Holger
Hallo Peter,
shAbrechnung ist der richtige Tabellenname. Er ist im VBA Projekt deklariert.
AW: Serienbrief erzeugt und gespeichert keine Mail möglich
05.02.2024 18:03:13
onur
Wo und wie GENAU denn ?
AW: Serienbrief erzeugt und gespeichert keine Mail möglich
05.02.2024 17:43:47
ralf_b
dieses Range("Zeile, 2") sollte besser cells(Zeile, 2) sein.
Du verwendest hier Zeile (ein Variable) in einem Text. VBA kann dann die Variable nicht übersetzen/erkennen.
Zeile deutet auf eine Zeilennummer hin. Wie du es weiter oben mit Cells verwendest. Dort ist es richtig.
Range möchte einen Text aus Spaltenbuchstabe und Zeilennummer ( "A1") . Cells erwartet ( Zeilennummer, Spaltenummer).

Soweit verstanden?
AW: Serienbrief erzeugt und gespeichert keine Mail möglich
05.02.2024 18:13:59
Holger
Hallo Ralf_b
ich habe das jetzt so verstanden aus Range wurde Cells im Ursprung stand ("Zeile, 2") das war die Anrede in der Zelle 93 steht die Mailadresse
.To = shAbrechnung.Cells("Zeile, 93").Value klappt auch nicht.
Laufzeitfehler 5
Ungültiger Prozeduraufruf oder ....
Anzeige
AW: Serienbrief erzeugt und gespeichert keine Mail möglich
05.02.2024 18:15:23
onur
Poste endlich mal die Datei oder ALLE Makros statt uns hier Krümel hinzuwerfen.
bei Cells( keine Gänsfüßchen) owt
05.02.2024 18:25:04
ralf_b
AW: bei Cells( keine Gänsfüßchen) owt
05.02.2024 18:30:27
Holger
Hallo Ralf_b

das war es. Vielen, vielen Dank

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige