Script: inoltra tutte le email dalla posta in arrivo, dopo che gli utenti hanno inviato la "richiesta" (Outlook 2003)


2

Sto cercando uno script di Outlook (2003).

Ciò che di cui ho bisogno: Voglio inoltrare tutte le mie e-mail dalla casella postale A (dal PC) alla casella postale B (sul mio telefono). Il problema è: questa regola dovrebbe essere eseguita solo quando invio una "richiesta" alla casella postale-A.

Cosa ho fatto: Ho creato due regole in Outlook 2003.

Regola 1: questa regola inoltra tutte le email dalla casella di posta A alla cassetta postale B. Questa regola funziona, ma non è automatizzata (viene eseguita solo quando premo il pulsante "Esegui regole"). Voglio solo ricevere email "quando voglio".

Regola 2: ho creato una seconda regola in Outlook. Questa regola inizia (stessa) quando mailbox-A riceve un messaggio di posta elettronica con 'get_mail' come oggetto dell'email.

Il mio obiettivo: Voglio che rule2 avvii uno script. Ovviamente, questo script dovrebbe eseguire la regola 1.

Risultato: Tutte le e-mail dalla casella di posta A vengono inoltrate alla casella postale B.

Sfondo: Il mio obiettivo è leggere le mie email di lavoro sul mio telefono, pendolarismo tra lavoro e casa. Inviando un'e-mail dal mio telefono al mio PC (con oggetto mail get_mail), il mio PC (mailbox-A) inoltra tutte le email al mio telefono (mailbox-B).

È possibile utilizzare VBA? E come dovrebbe apparire il codice? Non ho esperienza con lo scripting, ma sono bravo con PC e software in generale. Quindi dovrei essere in grado di installarlo quando qualcuno fornisce il codice.

( post scriptum Non è possibile installare semplicemente l'account pop / imap sul mio telefono)

Risposte:


0

Sì, è possibile che una regola attivi un'altra regola. Ecco una procedura VBA per Outlook che dovrebbe funzionare:

Sub RunRuleToForwardEmail(MyMail As MailItem)

    Dim st As Outlook.Store
    Dim myRule As Outlook.Rule

    ' get default store (where rules live)
    Set st = Application.Session.DefaultStore
    ' get rule
    Set myRule = st.GetRules("change_this_to_whatever_the_the_name_of_rule1_is") 'change this line
    myRule.Execute

End Sub

Ricorda di cambiare questo testo: change_this_to_whatever_the_the_name_of_rule1_is.

Una volta salvato il progetto VBA di Outlook, modifica le azioni di rule2. Dovresti quindi essere in grado di scegliere lo script sopra nell'elenco delle opzioni.


Grazie per la pronta risposta. Il nome della regola è in realtà 'regola1'. Così ho cambiato il tuo bit del codice in 'Set myRule = st.GetRules ("rule1")'. È corretto? Sono stato in grado di selezionare lo script come azione in rule2. Sfortunatamente, non ha funzionato. Ho fatto un errore?
user316237

Hm, sì è corretto. Ho provato da solo e ha funzionato (anche se la mia regola1 ha semplicemente classificato la mia posta, non l'ho inoltrata). Aggiungi questo codice extra all'inizio della procedura: MsgBox "The RunRuleToForwardEmail VBA procedure is running". Metti questo sulla sua linea prima della prima dichiarazione Dim. Quindi provalo. Se il codice funziona correttamente, un messaggio dovrebbe apparire in Outlook per avvisarti. Se questo messaggio non appare, allora qualcosa deve essere sbagliato con la regola che ha lo scopo di attivarlo.
Garrulinae

Nessun successo :-(. Il codice è il seguente: [Link] Sub RunRuleToForwardEmail (MyMail As MailItem) MsgBox "La procedura VBA RunRuleToForwardEmail è in esecuzione" Dim st As Outlook.Store Dim myRule As Outlook.Rule Dim rl As Outlook.Rule 'get archivio predefinito (dove vivono le regole) Set st = Application.Session.DefaultStore 'ottieni la regola Set myRule = st.GetRules (rule1) myRule.Execute End Sub
user316237

Aha: il testo rule1 deve essere circondato da virgolette: "rule1". Il messaggio dovrebbe essere ancora apparso, vero?
Garrulinae

Ho aggiunto le virgolette, nulla è cambiato. Neanche io ho visto alcun messaggio. Ho aggiunto a rule1 'set flag color green'. E per la regola2 "imposta il colore della bandiera viola". Quando arriva l'email con oggetto get_mails, questa email riceve una bandiera viola. Qualche altro modo per creare un "controllo"?
user316237
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.