Ja ich sehe wo das Problem ist.
Funktionen sind in 2 Bestandteile aufgeteilt.
Im ersten Teil definierst du die Funktion und daraufhin kannst du die Funktion jederzeit aufrufen.
An sich ist es das gleiche wie ein Label.
Der Funktionsaufruf ist die GoSub Anweisung. Die Funktionsdefinition ist ähnlich wie man ein Label definiert.
In deinem Fall ist das die Funktionsdefinition:
Code: Select all
SendMail(ToAddress, MessageSubject, MessageBody, AttachmentPath="") {
ol := ComObjCreate("Outlook.Application")
ns := ol.getNamespace("MAPI")
ns.logon("","",true,false) ;get default MAPI profile
newMail := ol.CreateItem(0) ;0 is Outlook constant 'olMailItem' (thanks Sinkfaze)
newMail.Subject := MessageSubject
newMail.Body := MessageBody
If StrLen (AttachmentPath)
{
MessageAttach := newMail.Attachments
Loop, Parse, AttachmentPath, `n, %A_Space%%A_Tab%
{
If A_Index = 1
Root := A_LoopField
Else
MessageAttach.Add(Root . "\" . A_LoopField)
}
}
; validate the recipient, just in case...
myRecipient := ns.CreateRecipient(ToAddress)
myRecipient.Resolve
If Not myRecipient.Resolved
MsgBox, unknown recipient
Else
{
newMail.Recipients.Add(myRecipient)
;newMail.Sender := FromAddress ;this would be the from field but does not work yet
newMail.Display
}
}
Hier wird festgelegt welchen code die funktion ausführt und wie Parameter übergeben werden.
Bei einem Funktionsaufruf legt man dann fest welche Parameter übergeben werden.
In deinem Fall erlaubt das uns festzulegen, wer die Mail erhält, und welchen Betreff, Inhalt und Anhang sie hat.
Ja ich sehe wo das Problem ist.
Funktionen sind in 2 Bestandteile aufgeteilt.
Im ersten Teil definierst du die Funktion und daraufhin kannst du die Funktion jederzeit aufrufen.
An sich ist es das gleiche wie ein Label.
Der Funktionsaufruf ist die GoSub Anweisung. Die Funktionsdefinition ist ähnlich wie man ein Label definiert.
In deinem Fall ist das die Funktionsdefinition:
[code]SendMail(ToAddress, MessageSubject, MessageBody, AttachmentPath="") {
ol := ComObjCreate("Outlook.Application")
ns := ol.getNamespace("MAPI")
ns.logon("","",true,false) ;get default MAPI profile
newMail := ol.CreateItem(0) ;0 is Outlook constant 'olMailItem' (thanks Sinkfaze)
newMail.Subject := MessageSubject
newMail.Body := MessageBody
If StrLen (AttachmentPath)
{
MessageAttach := newMail.Attachments
Loop, Parse, AttachmentPath, `n, %A_Space%%A_Tab%
{
If A_Index = 1
Root := A_LoopField
Else
MessageAttach.Add(Root . "\" . A_LoopField)
}
}
; validate the recipient, just in case...
myRecipient := ns.CreateRecipient(ToAddress)
myRecipient.Resolve
If Not myRecipient.Resolved
MsgBox, unknown recipient
Else
{
newMail.Recipients.Add(myRecipient)
;newMail.Sender := FromAddress ;this would be the from field but does not work yet
newMail.Display
}
}[/code]Hier wird festgelegt welchen code die funktion ausführt und wie Parameter übergeben werden.
Bei einem Funktionsaufruf legt man dann fest welche Parameter übergeben werden.
In deinem Fall erlaubt das uns festzulegen, wer die Mail erhält, und welchen Betreff, Inhalt und Anhang sie hat.
[code]SendMail("
[email protected]", "Dein Betreff", "Deine Nachricht", "C:\DeinAnhang.txt")[/code]