Ich suche eine Möglichkeit, das was ich mit diesem Code
[autoit];Word - Ersetzen und kopieren
$Word = ObjCreate("Word.Application")
$Word.Documents.Open($templateFile)
$Word.Visible = "False"
$Word.Selection.Find.Execute("<<Anrede>>", 0, 0, 0, 0, 0, 1, 1, 0, $aAnrede[$i2], 2, 0, 0, 0, 0)
$Word.Selection.WholeStory
$Word.Selection.Copy
$Word.ActiveDocument.Close(0)
$Word.quit()
aus einer Worddatei rauskopiere mit allen Formatierungen, evtl. nem Bild etc. in eine Outlook-Email einzufügen.
Im Moment mache ich es mit Send("^v"), gibts dafür nicht ne schönere Lösung?
[autoit];CreateMailItem
Local $olFormatHTML = 2
Local $olFormatPlain = 1
Local $olFormatRichText = 3
Local $olFormatUnspecified = 0
Local $olMailItem = 0
$oOutlook = ObjCreate("Outlook.Application")
$oOMail = $oOutlook.CreateItem($olMailItem)
With $oOMail
.To = ($aEmail[$i2])
.Subject = GUICtrlRead($iSubject)
.BodyFormat = 2
.Body = ""
If UBound($arAttach) > 1 Then
For $i = 1 to UBound($arAttach)-1
.attachments.add ($arAttach[$i])
Next
EndIf
.Display
WinWaitActive(GUICtrlRead($iSubject))
WinSetState(GUICtrlRead($iSubject),"",@SW_HIDE)
Sleep(3000)
Send("^v")
.Send
EndWith
Am liebsten wärs mir ja, wenn man Outlook so wie Word vorher gar nicht sehen würde.
Anbei noch der komplette Code. Damit sollen über Outlook personalisierte Emails mit Anhang versendet werden. Funktioniert auch soweit
Als Vorlage einfach eine Worddatei erstellen und dort <<Anrede>> statt Sehr geehrter Herr Xxx eintragen. Die Anreden und Email-Adressen für den Verteiler dann einfach in eine Excel-Tabelle ab Zelle A2 bzw. B2 schreiben. Falls es mal jemand ausprobieren will.