catalin459
Mesaje: 6 Offline
|
In primul rand "La multi ani!" tuturor. Sunt incepator in Autoit si as avea nevoie de o mana de ajutor. Am nevoie de un program care sa transmita un e-mail (Outlook 2007) in mod automat, o data pe zi atasand un fisier. Deocamdata am reusit sa fac un program care sa trimta mail-uri dar nu stiu cum pun o atasare. Poate ma poate ajuta cineva. Iata si codul: Run ("C:\Program Files\Microsoft Office\Office12\Outlook.exe") WinWaitActive ("Microsoft Outlook")
CreateMailItem()
Func CreateMailItem() Local $olMailItem = 0 Local $olFormatRichText = 3 Local $olImportanceLow = 0 Local $olImportanceNormal= 1 Local $olImportanceHigh = 2
$oOApp = ObjCreate("Outlook.Application") $oOMail = $oOApp.CreateItem($olMailItem)
With $oOMail .To = ("adresa@yahoo.com") .Subject = "Subiect" .BodyFormat = $olFormatRichText .Importance = $olImportanceHigh .Body = "Test de email cu AutoIT" .Display .Send EndWith EndFunc
|
|
|
|
|
Logged
|
|
| 01-01-2009, 12:23 | Twitt :: |
|
|
tercot

Mesaje: 1414 Offline
|
Incearca acest cod: .attachments.add("c:\cale_catre_file.extensie") dupa .Body = "Test de email cu AutoIT"
|
|
|
|
|
Logged
|
"Fii totdeauna cu Dumnezeu, daca vrei ca Dumnezeu sa fie totdeauna cu tine!" Sfantul Ioan Gura de Aur 
|
| 01-01-2009, 13:03 | Twitt :: |
|
|
catalin459
Mesaje: 6 Offline
|
Yes. Functioneaza, multumesc mult.
|
|
|
|
|
Logged
|
|
| 01-01-2009, 22:00 | Twitt :: |
|
|
catalin459
Mesaje: 6 Offline
|
As dori sa mai inbunatatesc putin. Deci dupa ce face Send/Receive sa se inchida automat Outlook-ul. Evident trebuie tinut cont ca timpul in care Outlook primeste/receptioneaza mesaje este variabil.
|
|
|
|
|
Logged
|
|
| 02-01-2009, 17:19 | Twitt :: |
|
|
capy

Mesaje: 46 Offline
|
Si eu m-am apucat azi sa iau autoit de la 0, am ctit tutorialele de pe acest forum si apoi am studiat toate functiile...anyway, trebuie sa introduci dupa linia: .SendSleep(10000) ProcessClose("C:\Program Files\Microsoft Office\Office12\Outlook.exe")
$PID = ProcessExists("Outlook.exe") If $PID Then ProcessClose($PID) Sper ca ti-am fost de ajutor ^^. Succes!
|
|
|
|
|
Logged
|
|
| 18-01-2009, 19:22 | Twitt :: |
|
|
astan

Mesaje: 773 Offline
|
Terminarea unui process este, de obicei, o idee proasta. Terminarea unui process ar trebui sa fie ultima solutie la care se apeleaza, nu sa fie folosita cu atata usurinta, de parca ar fi un lucru normal, care nu poate genera nici o problema vreodata.
|
|
|
|
|
Logged
|
|
| 18-01-2009, 19:42 | Twitt :: |
|
|
capy

Mesaje: 46 Offline
|
Terminarea unui process este, de obicei, o idee proasta. Terminarea unui process ar trebui sa fie ultima solutie la care se apeleaza, nu sa fie folosita cu atata usurinta, de parca ar fi un lucru normal, care nu poate genera nici o problema vreodata.
Esti critic? A vrut sa stie cum se incheie un proces iar eu i-am raspuns. Spunele celor de la AutoIt Team ca a fost o idee proasta ca au facut codul asta, asta te arde pe tine ca foloseste el cu atata usurinta codul de incheiere proces.
|
|
|
|
|
Logged
|
|
| 18-01-2009, 20:01 | Twitt :: |
|
|
astan

Mesaje: 773 Offline
|
^Da, sunt critic cu cei care au tendinta sa foloseasca notiunui de care nu au habar. Stii de ce ? Pentru ca imi permit si pentru ca pot ...  Si nu mai folosi expresii precum "te arde pe tine", mai baiete, ca nu cred ca avem aceeasi varsta. A, si vezi ca tu acolo termini un proces din alt proces. Pe dedesupt se apeleaza functia TerminateProcess() din Winapi si, evident, nu sunt notificate DLL-urile incarcate de procesul pe care il termini si nu se proceseaza DLL_PROCESS_DETACH din entry point-ul respectivelor DLL-uri.
|
|
|
|
|
Logged
|
|
| 19-01-2009, 05:36 | Twitt :: |
|
|
capy

Mesaje: 46 Offline
|
Daca "iti permiti si poti" trebuia sa-i raspunzi la intrebare ,am spus clar sus ca am luato de la 0 (Z E R O),la ce te astepti sa stiu dupa 5 ore de studiat autoit?
Ps: Prin "Stii de ce ? Pentru ca imi permit si pentru ca pot ..." ai dat multe de inteles.
|
|
|
|
|
Logged
|
|
| 19-01-2009, 10:12 | Twitt :: |
|
|
DarkByte
Mesaje:
|
Calmati-va, amandoi. Astan a specificat ca nu e o idee proasta, nu trebuie sa o iei personal. E programator cu experienta si stie ce zice.
Mai bine ai tine minte ce ti-a spus si, daca ai nelamuriri, sa-l intrebi.
Nu vad pentru ce un sfat trebuie urmat neaparat de o discutie aiurea. Daca nu esti de acord ca terminarea unui proces e o idee proasta, adu argumente, nu incepeti sa va certati.
|
|
|
|
|
Logged
|
|
| 19-01-2009, 10:34 | Twitt :: |
|
|
catalin459
Mesaje: 6 Offline
|
Desi nu este o solutie ortodoxa cea ce propune capy rezolva problema (multumesc). Momentan nu am gasit nimic altceva care sa "stie " ca Outlook a transmis cu succes mesajul si apoi sa termine procesul intr-un mod mai elegant.
|
|
|
|
|
Logged
|
|
| 23-01-2009, 14:59 | Twitt :: |
|
|
afh

Mesaje: 35 Offline
|
Încearcă aşa:
$oOut = ObjGet("", "Outlook.Application") ;dacă outlookul rulează deja
if $oOut = 0 then $oOut = ObjCreate("Outlook.Application"); dacă nu rulează (ar trebui să meargă şi cu if @error then)
;codul tău...
$oOut.quit
S-ar putea să trebuiască să fii atent la setările de acces programatic. Eu la serviciu sunt într-un domeniu şi nu pot umbla la setările astea, iar ca să pot trimite automat un meil cu outlook trebuie să am starea antivirusului "valid". E interesant că dacă antivirusul (kasperski) nu e actualizat, deşi este el rulează, outlookul zice că starea e "nevalidă" şi îmi cere confirmarea trimiterii meilului.
Încă o precizare: şi eu sunt începător...
|
|
|
|
|
Logged
|
|
| 06-02-2009, 18:47 | Twitt :: |
|
|
|
|
|