Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Schleife funktioniert nicht

Schleife funktioniert nicht
19.10.2015 17:09:00
Matthias
Hallo,
kann mir jemand sagen, warum das meine Schleife nicht funktioniert?
Nach der ersten gesendeten Email bricht er ab bzw. bringt eine Fehlermeldung.
Sub Emailsenden()
Dim OutApp As Object
Dim OutMail As Object
Dim Fname As String
Dim wksData As Worksheet
Dim iRow As Integer
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
iRow = 1
Fname = ActiveWorkbook.Path & Application.PathSeparator & ActiveSheet.Cells(iRow, 1).Value & _
".txt"
Do Until IsEmpty(ActiveSheet.Cells(iRow, 1))
On Error Resume Next
With OutMail
.To = ActiveSheet.Cells(iRow, 2).Value
.CC = ""
.BCC = ""
.Subject = "This is the Subject line"
.body = "Hi there"
.Attachments.Add Fname
.send   'or use .Display
End With
Set OutMail = Nothing
Set OutApp = Nothing
On Error Resume Next
iRow = iRow + 1
Loop
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife funktioniert nicht
19.10.2015 17:13:56
EtoPHG
Hallo Matthias,
mit
    Set OutMail = Nothing
Set OutApp = Nothing

setzt du nach dem ersten Mail sowohl das Mail-Objekt, wie auch die Outlook-Applikation auf "NICHTS".
Somit sind sie bei nächsten Durchlauf auch nicht mehr verfügbar!
...und, wenn du schon von Fehlermeldungen schreibst, dann sage den Helfern auch, was für eine Fehlermeldung (Error-Nummer und Error-Description!).
Gruess Hansueli

Anzeige
AW: Schleife funktioniert nicht
19.10.2015 17:19:06
matthias
Hallo,
also die erste Email geht raus danach markiert er die Stelle
.To = ActiveSheet.Cells(iRow, 2).Value
und sagt.
Laufzeitfehler 91
Objektvariale oder With block nicht festgelegt.
Aber in der ActiveSheet.Cells(2, 2) steht aber ein Wert.

AW: Schleife funktioniert nicht
19.10.2015 17:20:57
matthias
Hallo,
also die erste Email geht raus danach markiert er die Stelle
.To = ActiveSheet.Cells(iRow, 2).Value
und sagt.
Laufzeitfehler 91
Objektvariale oder With block nicht festgelegt.
Aber in der ActiveSheet.Cells(2, 2) steht aber ein Wert.
lösche ich deinen Hinweis aus dem Code.
Kommt die Fehlermeldung
Das Element wurde gelöscht oder verschoben.

Anzeige
AW: Schleife funktioniert nicht
19.10.2015 17:33:12
matthias
Hab mir selber geholfen.
Nun funktioniert es.
Sub SaveSend_Embedded_Chart()
Dim OutApp As Object
Dim OutMail As Object
Dim Fname As String
Dim wksData As Worksheet
Dim iRow As Integer
Dim strPDF As String
Dim OutlookApp As Object, strEmail As Object
Dim olOldBody As String
iRow = 1
Do Until IsEmpty(ActiveSheet.Cells(iRow, 1))
Fname = ActiveWorkbook.Path & Application.PathSeparator & ActiveSheet.Cells(iRow, 1).Value & _
".txt"
Set OutlookApp = CreateObject("Outlook.Application")
Set strEmail = OutlookApp.CreateItem(0)
With strEmail
Set .SendUsingAccount = .Session.Accounts.Item("info@skkwillmering.de")
olOldBody = .htmlBody
.To = ActiveSheet.Cells(iRow, 2).Value
.CC = ""
.BCC = ""
.Subject = "This is the Subject line"
.body = "Hi there"
.Attachments.Add Fname
.send
End With
iRow = iRow + 1
Loop
End Sub
Aber was mache ich wenn die Datei die angehängt ist nicht vorhanden ist?
Dann bricht er ab..
Wie kann ich hier machen, dass das Makro zwar durchläuft, aber am Ende meine Meldung kommt, dass z.b die Laufende Nummer 2 nicht versendet werden konnte?

Anzeige
AW: Schleife funktioniert nicht
19.10.2015 17:50:12
Daniel
HI
du kannst mit der DIR-Funktion prüfen, ob die Datei vorhanden ist:

Do
FName = ...
if Dir(FName) = "" then
Meldungstext = Meldungstext & vbLf & iRow & " - " & FAme
Else
hier der Code zum Versenden der Datei
end If
irow = iRow + 1
Loop
if MeldungsText = "" Then
Msgbox "alle Dateien versendet"
Else
Msgbox "folgende Dateien konnten nicht gefunden werden : " & Meldungstext
end If
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige