Hallo Alexandra,
hier ein VB-Script!!!
folgender Code bitte in einem normalen Texteditor kopieren und "Speichern unter" : "Dateiname".VBS ganz wichtig Dateiendung ".VBS"
Datei am besten zuerst auf dem Desktop speichern, du kannst sie dann per Doppelklick ausführen!
Ich hoffe du hast nicht zu viele Ansprechpartner in deiner Datei, ansonsten Kommentier die Zeile "Mail.Display" aus und entferne das Kommentarzeichen vor "wscript.Echo Message" oder nehme eine Kopie der Datei mit wenigen Zeilen, da für jeden Ansprechpartner eine E-Mail erzeugt wird!!!
Jetzt muß nur noch die E-Mail-Adresse von den Ansprechpartnern eingefügt werden.
'
' 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).Cells(1,1).End(4)
Anzahl = Anzahl + 1
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
|