Microsoft Excel

Herbers Excel/VBA-Archiv

Excel Datei Ablaufdatum -> Email senden


Betrifft: Excel Datei Ablaufdatum -> Email senden von: Peter
Geschrieben am: 13.10.2017 08:00:23

Hallo Ihr,

ich bin momentan dabei eine Excel-Liste zu erstellen, in der ich zu jedem Artikel eine Art "Mindesthaltbarkeitsdatum" habe. Meine Makro soll überprüfen, ob dieses Datum in der nächsten Woche vorliegt. Wenn ja, soll es eine E-Mail an die in der jeweiligen Zeile und in Spalte D hinterlegten E-Mailadresse senden.

Ich scheitere leider daran, dass ich mit dem Datum rechnen muss und es daher nicht als Text einlesen kann.

Meine Daten für die erste Zeile stehen in:

Haltbarkeitsdatum: B2, B3, B4, ....
E-Mailadressen: D2, D3, D4

Über Eure Hilfe freue ich mich.

Die Funktion, dass mein Programm die Mail senden soll, konnte ich mir so zusammen suchen, macht das Sinn?


Set OutApp = CreateObject("Outlook.Application")
        Set Nachricht = OutApp.CreateItem(0)
             With Nachricht
            .To = Cells(i, 4)            
            .Subject = Cells(i, 1) 'hier schreibe ich den Gerätenamen rein
            .Body = Cells(i, 5) 'Sendetext" 'hier möchte ich noch einfügen welches Gerät fällig  _
 _
ist
            .Send
        End With
        Set OutApp = Nothing
        Set Nachricht = Nothing
        Application.Wait (Now + TimeValue("0:00:10"))
 

  

Betrifft: AW: Excel Datei Ablaufdatum -> Email senden von: Bernd
Geschrieben am: 13.10.2017 08:21:21

Servus Peter,

mit einer Schleife müsste das möglich sein. Die Frage ist, wie du die Prozedur anstoßen möchtest?

Mein Versuch (ungetestet):

Option Explicit
Dim OutApp
Dim Nachricht
Dim i As Integer
Dim intLZ As Integer


Sub Mail()
intLZ = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To intLZ
    If Cells(i, 2).Value <= Date + 7 Then
        Set OutApp = CreateObject("Outlook.Application")
        Set Nachricht = OutApp.CreateItem(0)
             With Nachricht
            .to = Cells(i, 4)
            .Subject = Cells(i, 1)
            .Body = Cells(i, 2) & vbNewLine & Cells(i, 1) & vbNewLine & Cells(i, 3)
            .Send
        End With
        Set OutApp = Nothing
        Set Nachricht = Nothing
        Application.Wait (Now + TimeValue("0:00:03"))
    End If
Next i
End Sub
Grüße, Bernd


  

Betrifft: AW: Excel Datei Ablaufdatum -> Email senden von: Peter
Geschrieben am: 13.10.2017 08:54:16

Super Bernd, vielen herzlichen Dank. Ich war die letzten drei Tage über dem Problem gesessen....

Das Makro funktioniert perfekt, momentan starte ich es über einen Button in meiner Excel-Datei, den ich so programmiert habe.
Gibt es auch die Möglichkeit den ganzen Prozess, also das Senden der Mails mit den abgelaufenen Artikeln über eine Verknüpfung/Programm vom Desktop zu starten? Oder ist das ein größere Akt?

Vielen Dank!

Peter


  

Betrifft: AW: Excel Datei Ablaufdatum -> Email senden von: Bernd
Geschrieben am: 13.10.2017 16:26:56

Servus Peter,

damit kenne ich mich leider nicht aus.
Google spuckt z.B. dieses Ergebnis aus:
https://www.herber.de/forum/archiv/1244to1248/1244447_Makro_vom_Desktop_starten.html

Grüße, Bernd


Beiträge aus den Excel-Beispielen zum Thema "Excel Datei Ablaufdatum -> Email senden"