320.06.70.037 [email protected]
Seleziona una pagina

Salvare Allegati in automatico con Microsoft Outlook 2010 sul disco rigido del PC

da | Mar 22, 2016 | VBScript, Outlook 2010 | 21 commenti

La seguente guida spiega come salvara in automatico allegati di email ricevute con Outlook 2010 sul disco rigido del proprio PC.

Aprire Outlook 2010

saveallegatooutlook-01
Cliccare sulla Home di Outlook ALT+F11

saveallegatooutlook-02
Cliccare su Inserisci quindi Modulo

saveallegatooutlook-03

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
saveallegatooutlook-04
Salvare il Progetto cliccando sul tasto Salva

saveallegatooutlook-05

Selezionare il Tab File su Outlook 2010 quindi cliccare sul pulsante Regole e Avvisi

saveallegatooutlook-06

Cliccare su Nuova Regola…

saveallegatooutlook-07

Cliccare su Avanti

saveallegatooutlook-08
Selezionare la condizione : con parole specifiche nell’oggetto quindi in basso cliccare su parole specifiche come mostrato nell’immagine sovrastante

saveallegatooutlook-09

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.

saveallegatooutlook-10
Clicchiamo su OK per confermare

saveallegatooutlook-11

Clicchiamo Avanti per procedere

saveallegatooutlook-12
Selezioniamo l’azione: esegui uno script quindi in basso clicchiamo su uno script come mostrato nell’immagine sovrastante

saveallegatooutlook-13
Se è tutto corretto dovremmo vedere lo script creato in precedenza. Clicchiamo su OK per confermare

saveallegatooutlook-14
Clicchiamo su Fine per terminare la creazione della regola

saveallegatooutlook-15

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

saveallegatooutlook-16
Selezionare l’opzione Centro Protezione

saveallegatooutlook-17
Cliccare su Impostazioni Centro protezione…

saveallegatooutlook-18

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.

saveallegatooutlook-19
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

Raffaele Chiatto

Scritto da Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360°…
Mi sono avvicinato al mondo dell’informatica nel lontano 1996 con Windows 95 e da allora non ho più smesso di dedicarmi allo studio ed approfondimento di questo settore.
Laureato in Ingegneria Informatica nel 2009, lavoro nel campo dell’IT dal lontano 2001.

Link – Friends

Infrastrutture IT

English School

Act for Change

Graphic and Web solution

21 Commenti

  1. WebMaster

    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

  2. Avatar

    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.

  3. WebMaster

    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

  4. Avatar

    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

  5. WebMaster

    Ciao,
    stai provando con Outlook 2010 giusto?

  6. Avatar

    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

  7. WebMaster

    Non ancora, se riesco lo vedrò a settembre

  8. Avatar

    per Filippo Pagano
    hai poi risolto il problema degli allegati alla eml incapsulata nella pec in arrivo?

  9. Avatar

    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

  10. WebMaster

    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

  11. WebMaster

    Ciao purtroppo non ho avuto il tempo materiale per verificare . Appena potrò fare dei test lo scriverò nei commenti

  12. Avatar

    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

  13. WebMaster

    Purtroppo non ho avuto modo di rivedere lo script dato che in questo periodo sono un po’ incasinato…

  14. Avatar

    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

  15. WebMaster

    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

  16. Avatar

    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.

  17. Avatar

    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

  18. WebMaster

    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

  19. Avatar

    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 ?

  20. WebMaster

    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…

  21. Avatar

    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

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Translate »