Mulți utilizatori Outlook care caută un mod de a muta mesajele după trimiterea. De obicei, atunci când acest lucru folosit procese complexe cu sincronizare de timp și provocări predispuse la erori de interfață API concepute pentru a-DLL cu Windows prin bibliotecile terțe părți, cum ar fi Răscumpărarea Outlook. După ce a studiat problema și efectuarea unei serii de experimente, am găsit două soluții adecvate pe baza macro Visual Basic for Applications (VBA)
Trimite o cerere pentru un material
* Două moduri de a muta elementul e-mail în dosarul de utilizator după trimiterea.
* Decizia pe partea de client, care este independent de furnizorul de server de mail.
* Cele mai bune moduri de a răspândi codul VBA pentru utilizatori.
În mod implicit, Microsoft Outlook salvează copii ale elementelor trimise în ( „» Trimise) dosarul Articole expediate. Dar abordarea standard nu este întotdeauna acceptabil pentru companie, angajații care trimit zilnic sute de mesaje e-mail. De multe ori, mesajele de e-mail sunt clasificate în funcție de subiecte sau domenii de activitate. Această metodă diferă de genul de conversații, deoarece fiecare linie de afaceri pot conține mai multe fluxuri de conversații. Se distribuie în dosare pur și simplu mesajele primite; Un alt lucru - a trimis mesaje. Principala dificultate constă în faptul că, în ciuda posibilității de a muta o copie a trimiterii poștale după trimiterea în Outlook nu există nici o regulă sau o opțiune pentru a se muta elemente trimise.
Limitări ale abordării bazate pe reguli
De regulă, în cazul în care comportamentul programului nu satisface așteptările mele, am încercat să găsească o soluție software. Dar, înainte de a se lua la trântă cu codul VBA, ia în considerare parametrii și regulile de e-mail Outlook. Numai după epuizarea capacității lor, ar trebui să înceapă să caute soluții mai complexe. Să vedem ce se poate face cu expertul Reguli Outlook Wizard. Pornind de la o regulă necompletată, puteți specifica dacă să se aplice regula la un mesajele primite sau trimise, așa cum se arată în figura 1. După criteriile de selecție mesaj selectat, puteți specifica un dosar pentru a copia aceste mesaje (ecran 2).
Ecranul 1. Wizard Reguli Utilizați Expertul pentru a aplica regula Articole expediate
10. Verificați ecranul pentru a trimite regulile
Soluție alternativă: Evenimente utilizare Items_ItemAdd dosar Trimise
Soluție oMsg_Send - o alegere bună atunci când mesajele noi au fost procesate, și trebuie să fie menționate inspectorul noului element. O soluție alternativă pune cod în cazul Items_ItemAdd () Sent folderul Elemente. Codul sursă pentru această soluție ThisOutlookSession este prezentată în Listarea 2.
Obținerea de acces la eveniment Items_ItemAdd () Elemente trimise dosare
Regulile de cod modificate
Instalați pavilion DeleteAfterSubmit pentru a crea o copie a elementului e-mail nu mai este necesară. Cu toate acestea, ar trebui să verifice tipul de membru al clasei, deoarece parametrul este un obiect Element universal. altele decât mesajele de e-mail, cum ar fi Meeting Articol (membru de asamblare) Subiecții pot fi plasate în dosarul Articole expediate. Am luat, de asemenea, un pas în plus pentru a salva elementul în MailItem corespunzătoare a obiectului, pentru a activa mediul de auto-dezvoltare. Această etapă poate fi omisă dacă proprietățile cunoscute cu precizie la care doriți să îl accesați.
Eveniment oSentItems_ItemAdd în acțiune
12. Verificați ecranul pentru a trimite regulile de MailItems
Adăugarea altor tipuri de articole este ușor; schimba doar declarația Dacă în Select caz și specificați tipul țintă în lista cu o, așa cum se arată în Listarea 4 delimitate prin virgulă.
Rularea macro-uri Mutare MailItems la cerere Sent
Stabilit macro Mutare Sent MailItems pot fi aplicate la mesajele trimise anterior. Pentru a face acest lucru, utilizați caseta de dialog Macrocomenzi (macro-uri), macrocomenzile este deschis prin apăsarea unui buton de pe panglică. Singura problemă este că oferă acces doar la macro-uri publice la care macro nu este preocupările noastre. Chiar dacă poate vedea evenimentul ItemAdd SentItems dosarele procesate doar ultimul mesaj trimis. Prin urmare, trebuie să adăugați o subrutină publică pentru a procesa fiecare element din dosar SentItems, așa cum se arată într-un fragment de text original înștiințărilor C în Listarea 2. Apoi, puteți deschide caseta de dialog Macrocomenzi, selectați noua rutină publică (dacă nu este deja selectat) și faceți clic pe Executare ( «Run „) pentru a rula.
Simplitatea și securitatea
Rămâne doar pentru a găsi cel mai bun mod de a răspândi codul VBA. Acest lucru se poate face în diferite moduri, și, în unele cazuri, utilizatorii au nevoie de asistență, în timp ce altele pot funcționa la distanță:
* Utilizați fișierul de comandă | Export (File | Export) în VBA-Environment Outlook pentru a exporta modulele ca un fișier. bas. sau CLS. FRM;
* VbaProject.otm copia un fișier de pe computer, care au fost pregătite macro-uri pe computerele altor utilizatori, înlocuind VbaProject.otm fișierul existent;
* Utilizați Oficiul pentru profil Wizard Wizard (Proflwiz.exe) pentru a răspândi proiectul VBA.
materiale suplimentare
«Programare Microsoft Outlook: Jumpstart pentru administratori, dezvoltatori și utilizatori de putere» Sue Mosher