heute habe ich ein neues Update erstellt, mit dem Plug-In's auch per Variablen gesteuert werden können. Damit kann man z. B. auf ganz einfache Weise individuelle Mails erstellen (z. B. persönliche Anrede).
Dim objFSO Dim objFile Dim sMail Dim sKey Dim sAnrede
Set Ag = WScript.Arguments sKey = Right(ag(0),Len(ag(0))-1)
Set objFSO = CreateObject("Scripting.FileSystemObject") Set objDictionary = CreateObject("Scripting.Dictionary")
With objDictionary .Add "a.martens@gmx.de+ahmed@gmx.de","Sehr geehrter Herr Martens," .Add "mustermann@gmx.de","Sehr geehrter Herr Mustermann," .Add "anton.muster@gmx.de","Sehr geehrter Herr Muster," .Add "m.muster@gmx.de+info@gmx.de","Hallo Frau Musterfrau," End With
If objDictionary.Exists(sKey) Then sAnrede= objDictionary.Item(sKey) Else 'Standartanrede sAnrede = "Sehr geehrte Damen und Herren," End If
'OL-HTML-Vorlagen
Const oolTemplate=2 Const olByValue = 1
Dim oOApp Dim oOMail Dim olVorlage Dim myMsgtext Dim sPath
Set oOApp = CreateObject("Outlook.Application")
'Mailvorlage sPath = "C:UsersAhmedAppDataLocalFreePDF_MultidocPlugIn" olVorlage = sPath & "MA66_BF.oft" Set oOMail = oOApp.CreateItemFromTemplate(olVorlage)
objFSO.MoveFile olVorlage, sPath & "~MA66_BF.oft"
case "anton.muster@gmx.de" oOMail.Attachments.Add "C:UsersAhmedDocumentsDemo.docx", olByValue, 1 End Select
olVorlage = sPath & "MA66_BF.oft" oOMail.SaveAs olVorlage , oolTemplate
Set oOMail = Nothing Set oOApp = Nothing wscript.sleep 1000
2. Plug-In nach:
Plug-In-Dateiname: Set_StandardMail.vbs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Dim objFSO Dim olVorlage Dim sPath
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Mailvorlage sPath = "C:UsersAhmedAppDataLocalFreePDF_MultidocPlugIn" olVorlage = sPath & "MA66_BF.oft"
objFSO.DeleteFile olVorlage objFSO.MoveFile sPath & "~MA66_BF.oft", olVorlage
WScript.sleep 1000
Bedeutung:
1. Plug-In vor:
In dem 1. Script wird eine sog. Dictionary verwendet, so dass für jeden Mailempfänger (Key) eine persönliche Anrede hinterlegt wird. Ist der Empfänger unbekannt, wird einfach eine Standardanrede verwendet. Im 2. Schritt wird jetzt die Standardmail, die im Druckjob verwendet werden soll vorher auf Variablen geprüft und ausgelesen. Als Parameter wird einfach die Mailempfänger, die in dem Mailcode verwendet wird, übergeben.
Der VBS-Aufruf im Plug-In lautet einfach wie folgt (s. auch OH):
Zitat"C:...Create_Mail.vbs" /
Die Variablen werden in dem Variableneingabeformular vorher befüllt und dann an das Plug-In übergeben. Das Plug-In ersetzt jetzt die in der Mail hinterlegten Platzhalter ({@Anrede@}) mit dem gefundenen Wert. Bitte nicht {} verwenden, da dies die Kennung für Variablen ist.
Danach wird die Standardvorlage unter einem Temp-Namen gespeichert. Die überarbeitete Mail wird unter dem Vorlagennamen gespeichert, so dass der Druckjob auf diese neue Mail zugreifen kann.
Alle weiteren Änderungen werden jetzt über FreePDF_Multidoc in gewohnter Weise durchgeführt.
Des Weiteren wird jetzt über eine Select Case-Anweisung für bestimmte Mailempfänger noch zusätzlich Dateien als Anlagen hinzugefügt (siehe auch andere Beispiele für mehrere Anlagen).
2. Plug-In nach:
Nachdem die Mail erstellt wurde, wird jetzt die modifizierte Vorlage einfach wieder gelöscht und die Temp-Vorlage wieder umbenannt. Damit ist der Urzustand wieder hergestellt worden.
Ich glaube das Prinzip sollte damit klar sein. Der Umweg über eine kopierte Mail muss deshalb sein, da ja aus der Mail auch die Variablen ausgelesen werden können. So muss die Mail unter dem Originalnamen schon existieren.
Das gleiche Prinzip ist natürlich auch für eine Textmail anzuwenden.
Viel Erfolg.
Gruß Ahmed
FreePDF_Multidoc (PS2PDF mit vielen Optionen f. FreePDF) File2PDF (komplette Verzeichnisse auf einen Streich umwandeln) findest Du alles hier: http://amTools.de