Oft besteht der Wunsch, dass ein E-Mail erzeugt wird, dass mit Daten aus SAP vorausgefüllt aufbereitet wird. Das Mail soll jedoch nicht gleich versendet werden, sondern im Outlook geöffnet werden. So hat der User noch die Möglichkeiten Änderungen an dem Mail durchzuführen bevor das Mail versendet wird. Da dann das Mail über Outlook versendet wird hat es der Sender, dann auch in seinen gesendeten E-Mails gespeichert.

Dazu folgender Aufruf im Script:

callvbs Outlook_oeffnen "Attachment"

Wobei vorab folgende GuiXT Variablen gefüllt werden müssen:

V[to] E-Mail der Empfänger getrennt mit Semikolon
V[cc] E-Mail der CC Empfänger getrennt mit Semikolon
V[subject] Inhalt der Betreff Zeile
Text[body] Langtextvariable mit Textinhalt des Mails
Text[Attachment] Langtext mit den Angaben der Attachments. Pro Attachment eine neue Zeile.
z.B: C:\Temp\Dokument.pdf

Sinnvollerweise arbeitet man mit einem entsprechenden Template, wenn man in den E-Mailtext GuiXT Variablen zur Laufzeit mit den entsprechenden Werten füllen will.

Dazu einfach im Script folgende Zeile verwenden:

CopyText fromTemplate="Template_E-Mailtext.txt" toText="body"

Das zugehörige VBS Script „Outlook_oeffnen“

sub Outlook_oeffnen(Attachment)

 Const olByValue = 1
 Const olMailItem = 0
     
 Dim oOApp 
 Dim oOMail
 Dim vbCrLf
 Dim sAttachments, xAttachment, iAttachment, sAttachment

    ' Zeilenumbruch  
    vbCrLf = Chr(13) & Chr(10)

    ' Attachments holen
    sAttachments = GuiXT.GetText(Attachment)
    ' Attachments splitten
    xAttachment = Split(sAttachments, vbNewLine, -1, 1)

 Set oOApp = GuiXT.CreateObject("Outlook.Application")
 Set oOMail = oOApp.CreateItem(olMailItem)
 
 oOMail.display 

 With oOMail
     .To = guixt.Get("to")
     .CC = guixt.Get("cc")
     .Subject = guixt.Get("subject")
     .Body = guixt.GetText("body")

      For iAttachment = LBound(xAttachment, 1) To UBound(xAttachment, 1)
        sAttachment = Trim(xAttachment(iAttachment))
        If Len(sAttachment) > 0 Then
            .Attachments.Add sAttachment, olByValue, 1
        End If
    Next
  '  .Send
 End With
End Sub

 

 

Empfehlen