Hallo Alexandra,
hab den ersten Code nochmal angepasst...
'
' Lesen einer Excel-Datei und Ausgabe in einer E-Mail
' Autor: DeKor
' 28.07.2011
'
' ===============================
Option Explicit
' Variablen deklarieren
Dim ExcelObjekt, Zaehler, n
Dim strID, strFirstName, strLastname, strAP
Dim Anzahl, Liste, Message
Dim ol, Mail
' Excel-Objekt erzeugen
Set ExcelObjekt = CreateObject("Excel.Application")
' Excel unsichtbar machen
ExcelObjekt.Visible = False
ExcelObjekt.Workbooks.Open "C:\Temp\AP Liste.xls"
' Eine Auswahl erzeugen
Anzahl = ExcelObjekt.Worksheets(1).UsedRange.Rows.Count
Dim Speicher(32000)
For n = 2 To Anzahl
Speicher(n) = True
Next
' Durchlaufe alle Zeilen
For Zaehler = 2 To Anzahl
' Ausllesen der Werte
With ExcelObjekt
If Speicher(Zaehler) Then
Liste = ""
strID = .Cells(Zaehler,1).Value
strFirstName = .Cells(Zaehler,2).Value
strLastName = .Cells(Zaehler,3).Value
strAP = .Cells(Zaehler,4).Value
Message = vbCrLf & _
"Sehr geehrte(r) " & strAP & "," & vbCrLf & _
vbCrLf & _
"Sie betreuen folgende Personen: " & vbCrLf & _
vbCrLf
For n = 2 To Anzahl
If Speicher(n) Then
If strID <> .Cells(n,1).Value Then
If strAP = .Cells(n,4).Value Then
Liste = Liste & .Cells(n,1).Value & " : " & .Cells(n,2).Value & " " & .Cells(n,3).Value & vbCrLf
Speicher(n) = False
End If
Else
'Liste = "Folgende Personen betreut: " & strAP & vbCrLf & vbCrLf
Liste = Liste & strID & " : " & strFirstName & " " & strLastName & vbCrLf
Speicher(n) = False
End If
End If
Next
Message = Message & Liste & vbCrlF & _
vbCrLf & _
"Mit freundlichen Grüßen" & vbCrLf & _
vbCrLf & _
"Alexandra 2011"
' Ausgabe
' wscript.Echo Message
Set ol = CreateObject("Outlook.Application")
Set Mail = ol.CreateItem(0)
Mail.Subject = "Liste der Betreuenden vom: " & Date
Mail.To = "ansprechparter@Mustermann.domain"
Mail.cc = ""
Mail.bcc = ""
Mail.body = Message
Mail.Display
End If
End With
Next
'ExcelObjekt.Visible = True
' Excel wieder beenden
ExcelObjekt.Quit
' ===============================
Gruß Detlev
|