AW: Dateien im Verzeichnis prüfen und wenn Bedingung
25.11.2017 10:39:43
fcs
Hallo Tanja,
hier ein Beispiel wie du die Dateien prüfen und den Text für die E-Mails zusammenstellen kannst.
Der Code für den E-mailversnad ist abhängig vom Programm (Outlook, Lotus Notes, etc.).
Da musst du dann nochmals suchen.
Gruß
Franz
Sub CheckAuftraege()
Dim strPfad As String
Dim strDatei As String
Dim wkbAuftrag As Workbook, wksKunde As Worksheet
Dim Zelle As Range
Dim strAufgabe As String
Dim varEmpfaenger, strSubject As String, strBody As String
On Error GoTo Weiter
strPfad = "D:\Test\Aufträge\" ' anpassen!!!
strDatei = Dir(strPfad & "*.xls*", vbNormal)
Do Until strDatei = ""
Set wkbAuftrag = Application.Workbooks.Open(Filename:=strPfad & strDatei, _
UpdateLinks:=True)
Application.Calculate 'Zeile nur notwendig, wenn die datei unbedingt nach _
dem Öffnen neu berechnet werden soll
Set wksKunde = wkbAuftrag.Worksheets("Kunde")
strAufgabe = ""
With wksKunde
For Each Zelle In .Range("A1:A10")
If Zelle.Text "" Then
strAufgabe = strAufgabe & IIf(strAufgabe = "", "", "/") & Zelle.Text
End If
Next
For Each Zelle In .Range("D1:D10")
If Zelle.Text "" Then
strAufgabe = strAufgabe & IIf(strAufgabe = "", "", "/") & Zelle.Text
End If
Next
End With
If strAufgabe = "" Then
strSubject = "Auftrag: " & strDatei & " - alles OK"
strBody = "Auftrag " & strDatei & vbLf & "Alles OK"
Else
strSubject = "Auftrag: " & strDatei & " - Aufgabe: " & strAufgabe
strBody = "Auftrag " & strDatei & vbLf & "Aufgabe: " & strAufgabe
End If
varEmpfaenger = Array("Test@Test.de", "ABC.DEF@abc.de")
Call prcE_Mail_Versand(varEmpfaenger, strSubject, strBody)
Weiter:
wkbAuftrag.Close savechanges:=True
strDatei = Dir
Loop
End Sub
Sub prcE_Mail_Versand(varEmpfaenger, ByVal strSubject As String, ByVal strBody As String)
'Code für E-Mail ist abhängig vom E-Mail-Programm
MsgBox "1. Empfänger: " & varEmpfaenger(0) & vbLf & _
"Betreff: " & strSubject & vbLf & _
"Body-Text:" & vbLf & strBody, vbInformation, "Test-E-Mail-Versnd" 'Testzeile
End Sub