hier habt Ihr ein Beispiel, wie man per VBS ein Outlook-Mail erstellt und gleichzeitig die Variablenversorgung über FreePDF mit einbindet.
Ausgangslage:
Es soll über ein VBSricpt eine OL-HTML-Mail erstellt werden. In dem Mailtext sollen dabei Variablen aus FreePDF_Multidoc mit eingebunden werden. Dabei sollen die Variablen aber nicht für die Konvertierung als Dateiname u./o. Pfad verwendet werden.
Lösung:
Die Lösung besteht darin, dass mit Hilfe eines AddIn's die benötigten Variablen zusätzlich abgefragt werden können. Die in dem AddIn hinterlegten Variablen brauchen nämlich nicht zusätzlich in dem Druckjob vorhanden sein. Und das machen wir uns zunutze, um Variablen die nur in der Mail vorhanden sein sollen, zu verwenden.
1. Schritt
Richtet Euch ein AddIn mit folgendem Aufbau.
Ihr müsst aber unbedingt darauf achten, dass als Trennzeichen auf keinen Fall ein Semikolon verwendet wird. Aus diesem Grunde habe ich als Trennzeichen zwischen den Dateinamen und der Variablen das "|"-Zeichen genommen. Die Variablen wiederum sind mit einem "," getrennt worden.
2. Schritt
Jetzt müsst Ihr lediglich ein Druckjob erstellen, der dieses AddIn beinhaltet.
Set WshShell = WScript.CreateObject ("WScript.Shell") set Ag = WScript.Arguments
Const olByValue = 1
Dim oOApp Dim oOMail Dim olVorlage Dim myMsgtext Dim BeginNewLine Dim EndNewLine Dim sPath Dim sMail dim sParameter dim sTmp
'1. Schritt 'Übergabeparameter wird in PDF-Dateien und Variablen aufgeteilt. 'Trennzeichen ist | sTmp = split(ag(0),"|",-1,1)
'2. Schritt 'Alle Variablen die im AddIn hinterlegt wurden, werden jetzt aufgeteilt. 'Trennzeichen ist , sParameter=split(sTmp(1),",",-1,1)
'Mailvorlage sPath = "c:Netzwerk" olVorlage = sPath & "MeineOL_Vorlage.oft" Set oOMail = oOApp.CreateItemFromTemplate(olVorlage)
With oOMail .To = "mapitest@ihremaildomain.tld" .Subject = "Dies ist der Betreff"
myMsgtext = BeginNewline & "Hallo Anwender," & EndNewLine &_ BeginNewline & "hier habe ich einmal ein Beispiel vorgestellt, wie man per VBScript eine" & EndNewLine &_ "OL-Html-Mail verwenden kann und den Mail-Text individuell verwendet."
'Die Variablen können jezt ganz einfach in einem Text verwendet werden. 'for i=0 to UBound(sParameter) 'Ubound() liefert die max. Anzahl der Variablen ' msgbox sParameter(i) 'next
'Beispiel für einen Text:
myMsgtext = myMsgtext & BeginNewLine &_ "Sie erhalten die Bf. für " & sParameter(0) & "/" & sParameter(1) & "." & EndNewLine 'Sie erhalten die Bf. für 02/2009."
'sTmp(0) enthält die Datei .Attachments.Add trim(sTmp(0)), olByValue, 1 .Display 'zum Anschauen '.send 'zum sofortigen senden End With
Das Script ist schon bekannt. Der Unterschied besteht im Wesentlichen nur aus den zusätzlichen Parametern.
Bitte passt noch die Pfade zur Mailvorlage an.
Nachteil hierbei ist allerdings, dass die Ausdrucke immer nur als ein PDF konvertiert werden können, da ein AddIn immer sofort bei jeder Konvertierung aktiviert wird. Warum das so sein muss und welche Lösung es auch hierfür gibt, könnt Ihr in meinem Beitrag in der Rubrik FreePDF_Multidoc nachlesen.
Bei Problemen und Fragen bitte hier melden.
Gruß Ahmed
FreePDF_Multidoc (PS2PDF mit vielen Optionen f. FreePDF) File2PDF (komplette Verzeichnisse auf einen Streich umwandeln) findest Du alles hier: http://amTools.de