La seguente guida spiega come salvara in automatico allegati di email ricevute con Outlook 2010 sul disco rigido del proprio PC.
Aprire Outlook 2010
Cliccare sulla Home di Outlook ALT+F11
Cliccare su Inserisci quindi Modulo
Copiare e incollare il seguente codice cambiando la cartella dove volgiamo salvare gli allegati (Es: C:\Allegati)
Public Sub saveAttachtoDisk (itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = “C:\Allegati\”
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & “\” & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
Salvare il Progetto cliccando sul tasto Salva
Selezionare il Tab File su Outlook 2010 quindi cliccare sul pulsante Regole e Avvisi
Cliccare su Nuova Regola…
Cliccare su Avanti
Selezionare la condizione : con parole specifiche nell’oggetto quindi in basso cliccare su parole specifiche come mostrato nell’immagine sovrastante
Inseriamo l’estensione dei file che desideriamo scaricare in automatico quindi clicchiamo su Aggiungi (Es. .pdf) oppure inserire una parola chiave che è presente nell’oggetto della mail.
NOTA BENE: Possiamo aggiungere più estensioni e/o più pariole chiave, basta inserirle una alla volta.
Clicchiamo su OK per confermare
Clicchiamo Avanti per procedere
Selezioniamo l’azione: esegui uno script quindi in basso clicchiamo su uno script come mostrato nell’immagine sovrastante
Se è tutto corretto dovremmo vedere lo script creato in precedenza. Clicchiamo su OK per confermare
Clicchiamo su Fine per terminare la creazione della regola
A questo punto dobbiamo abilitare le Macro in Outlook per far in modo che lo script creato possa girare senza problemi.
Cliccare su File quindi Opzioni
Selezionare l’opzione Centro Protezione
Cliccare su Impostazioni Centro protezione…
Cliccare su Impostazioni Macro quindi selezionare Attiva tutte (scelta non consigliata…..) quindi cliccare su OK per applicare le impostazioni.
Riavviamo Outlook per applicare le modifiche fatte.
Per verificare che la regola creata funziona applichiamola.
Se è tutto corretto nella cartella indiciata nello script dovremmo trovare tutti gli allegati con le estensioni indicate nella regola
Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.
Ciao Si può fare ma bisognerebbe rivedere tutto lo script facendo in modo che legga le info da un file XML
Un po lunghino ma appena ho un attimo posso farlo..
Ciao
Ciao!
Molto bello, ma è possibile creare un percorso di salvataggio personalizzato per ogni mittente?
Cioè ti chiedo se è possibile salvare gli allegati in un percorso differente per ciascun mittente.
Ad esempio: ricevo tante email con allegati da Tizio, da Caio e da Sempronio.
Può un solo script salvare in automatico gli allegati ricevuti da Tizio nella cartella “C:\Allegati\Tizio” e cosi via per gli altri mittenti?
In altre parole, come posso modificare lo script per far si che mi crei ogni volta una nuova cartella con il nome del mittente?
saveFolder = “C:\Allegati\ & objAtt.SenderName” ?
Inoltre, Come vengono gestite dallo script 2 email con lo stesso nome, ma con data/ora diverse?
Grazie del tuo tempo.
Ciao.
Buonasera,
come prima cosa dia uno sguardo nel Registro degli Eventi sotto la voce Applicazioni o più nello specifico sotto la voce Microsoft Office dove vengo tracciati tutti i log di Office.
Se c’è qualcosa che non va qui nel regsitro dovrebbe comparire un messaggio di errore che di sicuro fa capire dove è il problema
Saluti
Buongiorno,
ho questo inconveniente quando applico una regola con esegui uno script:
Regola errore
xxx Script “” inesistente o non valido
Lo script esiste ed è uguale a molti altri che ho
Sapreste dirmi cosa devo guardare?
Grazie
Ciao,
stai provando con Outlook 2010 giusto?
ciao,
quando provo ad utilizzare il codice ottengo un errore alla riga
For Each objAtt In itm.Attachments
Error 91 – object variable or with block variable not set
C’è magari qualche References che deve essere attivata?
grazie
Non ancora, se riesco lo vedrò a settembre
per Filippo Pagano
hai poi risolto il problema degli allegati alla eml incapsulata nella pec in arrivo?
Ciao Raffaele. Io avrei la necessità di spostare l’intero messaggio su una cartella ipotizziamo c:\messaggi. Naturalmente dovrei eliminare tutti i caratteri speciali che non possono essere contenuti nei nome file e dovrei fare in modo che il nome stesso non superi il numero massimo di caratteri consentiti per il nome del file anche troncando lo stesso. Spero di essere stato chiaro nella spiegazione. Uso office 2007 e 2010
Grazie
Se apre il file invio mail php direttamente Nella pagina probabilmente non è installato direttamente il php sul server che dovrebbe interpretare lo Script. L unico campo da modificare ti confermo che è la mail e anche se non lo utilizzo da un po’ questo metodo posso assicurarti che gli script funzionano. Appena ho un attimo li riverifico per sicurezza
Ciao purtroppo non ho avuto il tempo materiale per verificare . Appena potrò fare dei test lo scriverò nei commenti
ciao sono Giorgio,
premetto che sono un neofita, vengo al punto ho scaricato i 3 file contenuti in “SCRIPT_File_Modulo_Contatti_PHP.zip” ho inserito nel file invioMail.php la mia mail nella stringa
$destinatario = “[email protected]”; //Mail del destinatario
provato da locale ad inviarmi il form….risultato non funziona…inoltre alla fine apre il file invioMail.php con lo script bene in evidenza….mi dici dove sbaglio? grazie sia per l’attenzione che per la risposta
Purtroppo non ho avuto modo di rivedere lo script dato che in questo periodo sono un po’ incasinato…
Buongiorno, ho eseguito tutta la procedura e dopo diversi tentativi anche con altre regole continua a darmi sempre il solito problema di “runtime” evidenziandomi in giallo su Visual Basic questa riga: objAtt.SaveAsFile saveFolder & “ \ ” & objAtt.DisplayName
Sapete per quale motivo?
È molto urgente, grazie in anticipo
Ciao,bisognerebbe modificare lo script dicendogli di non sovrascrivere allegati con lo stesso nome.
Appena ho un attimo di tempo lo modifico e lo pubblico
Ciao
Ciao, lo script funziona benissimo e le spiegazioni chiarissime.
L’unico problema é che quando arriva una nuova e-mail con lo stesso allegato (ml) che contiene modifiche al suo interno, l’allegato sostituisce il precedente invece di aggiungere per esmpio (1) e scaricarlo ugualmente in modo che si possa avere entrambi gli allegati.
Salve sarei interessato anche io a risolvere il problema della pec.
Come si può estrarre i files pdf all’interno del file eml (che poi è un file .mes)
grazie
Ciao Marco,
lo script creato mi serviva per scaricare tutti gli allegati presenti nelle mail.
Modificando lo script si può scarciare solo file con un determinato formato o con un determinato nome.
Al momento sono un pò incasinato di lavoro ma appena ho un po di tempo libero modifico lo script paramentrizzandolo cosi da poter impostare i paramentri che richiedi.
se invece ne capisci di VBScript potresti modificarlo tu aggiungendo degli IF su estensione e nome file
Lo script come come è composto, scarica tutti gli allegati presenti nella mail, persino eventuali immagini presenti nella firma ella mail.
Come potrei scaricare solo gli allegati di un determinato formato o con un determinato nome ?
Bisognerebbe implementare uno script che ti fa l’estrazione del file PDF dal file EML.
Al momento sono un po preso ma appena ho un po di tempo libero lo creo e lo pubblico sul blog
A presto…
Buongiorno, ho letto il tuo articolo e l’ho trovato molto interessante. Però io ho un problema che non riesco a risolvere. Più precisamente, nel caso di pec, l’allegato è, quasi sempre, un file eml al cui interno vi è un file di altro tipo, ad es. pdf. Con la procedura da te descritta riesco a salvare in una cartella i files eml ma non gli allegati contenuti al suo interno. Vi è una qualche soluzione per automatizzare la procedura, cioè aprire automaticamente anche il file eml, estrarre l’allegato e salvarlo automaticamente in una cartella?
Grazie