FreePDF_Multidoc Foren-Übersicht FreePDF_Multidoc
Alles rund um FreePDF und andere Tools
 
 StartseiteStartseite   FAQFAQ   ShopsShops   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Private NachrichtenPrivate Nachrichten   LoginLogin 

Plug-In mit Variablen (persönliche Anrede) in OL HTML-Mails

 
Neues Thema eröffnen   Neue Antwort erstellen    FreePDF_Multidoc Foren-Übersicht -> VB-Programmbeispiele
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Ahmed Martens
Site Admin


Anmeldedatum: 16.03.2009
Beiträge: 399





BeitragVerfasst am: 29.11.2013, 18:34    Titel: Plug-In mit Variablen (persönliche Anrede) in OL HTML-Mails

Hallo Leute,

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).

Dazu geht ihr einfach wie folgt vor:

1. Plug-In vor:

Plug-In-Dateiname: Create_Mail.vbs

Code:

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:\Users\Ahmed\AppData\Local\FreePDF_Multidoc\PlugIn\"
olVorlage =  sPath & "MA66_BF.oft"
Set oOMail = oOApp.CreateItemFromTemplate(olVorlage)

objFSO.MoveFile olVorlage, sPath & "~MA66_BF.oft"

   myMsgtext = oOMail.HTMLBody
   myMsgtext = Replace(myMsgtext, "{@Anrede@}",sAnrede)
   
   oOMail.htmlbody = myMsgtext
   
   Select Case sKey
   
   case "anton.muster@gmx.de"
         oOMail.Attachments.Add "C:\Users\Ahmed\Documents\Demo.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


Code:

Dim objFSO
Dim olVorlage
Dim sPath

Set objFSO = CreateObject("Scripting.FileSystemObject")

'Mailvorlage
sPath = "C:\Users\Ahmed\AppData\Local\FreePDF_Multidoc\PlugIn\"
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" /<Mailempfaenger>


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
Nach oben
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    FreePDF_Multidoc Foren-Übersicht -> VB-Programmbeispiele Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB2.de


Impressum