Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1592to1596
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

Dateien im Verzeichnis prüfen und wenn Bedingung

Dateien im Verzeichnis prüfen und wenn Bedingung
25.11.2017 08:49:35
Tanja
Hallo zusammen,
ich bin seit Tagen dabei ein Makro zu schreiben, aber ich bekomme es überhaupt nicht hin. Vielleicht könnt Ihr mir helfen. Ich möchte folgendes:
In dem Ordner "Aufträge" sollen alle Excel-Dateien dahingehend geprüft werden, ob Sie im Tabellenblatt "Kunden" in der Range "A1:A10" oder in der Range "D1:D10" mit Inhalt gefüllt sind, d.h. nicht leer sind.
Falls eine Zelle in dem Bereich nicht leer ist, soll eine Email mit dem Betreff "Aufgabe" und dem Inhalt der Zelle/n, die nicht leer sind und dem Namen der Datei versandt werden.
Falls nicht der Wert "Aufgabe" enthalten ist, solle eine Email mit dem Betreff "alles Ok" versandt werden.
Falls Dateien dazu geöffnet werden, sollen sie anschließend wieder gespeichert (unter demselben Namen) und geschlossen werden.
Ich hoffe Ihr könnt mich helfen.
Danke

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
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

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige