Archives For Microsoft Outlook

Mi capita di tanto in tanto di imbattermi in vecchie caselle di posta utenti che hanno ancora i nomi delle cartelle in inglese, eredità di una precedente vita su IBM Lotus Domino, oggi non più giustificate su Office 2016 ProPlus interamente installati in italiano. Esistono diversi metodi per riportare alla lingua nostrana quei nomi, un paio di questi sono quelli che generalmente utilizzo (o faccio utilizzare direttamente all’utente finale).

Outlook e Shared Mailbox: Auto-Mapping o più file dati? 1

Partiamo da un presupposto molto semplice: quanto fatto e spiegato in questo articolo è frutto della scoperta dell’acqua calda, tutto è infatti già ben documentato da Microsoft all’indirizzo support.microsoft.com/en-us/help/2826855/folder-names-are-incorrect-or-displayed-in-an-incorrect-language-in-ou. Io mi sono limitato a isolare i due metodi che fino a oggi hanno dato puntualmente risultati (lato utente o lato diretto Exchange in cloud).

Via Outlook

Chiudi Outlook e dallo StartEsegui (su Windows 10 ti basta la combinazione  + R, oppure clic destro su tasto Windows → Esegui) digita il comando Outlook /resetfoldernames, quindi premi invio.

Questo farà partire il client di posta elettronica che, salvo sporadici casi (non rari, ma neanche così normali) effettuerà un reset del nome delle cartelle del tuo account personale (no, niente caselle di posta condivise mappate in automatico, nda), trasformando l’inglese in italiano.

In alternativa, se il /resetfoldernames non dovesse sortire alcun effetto, puoi ripetere il procedimento ma richiamando Outlook /resetfolders.

Via PowerShell

Che poi, come al solito, è il metodo che preferisco perché immediato e valido per qualsiasi casella di posta, anche quelle condivise che nel paragrafo precedente ho specificato essere intoccabili se un Outlook le mappa in maniera automatica. La PowerShell modifica la lingua adottata dalle cartelle di posta elettronica dando retta a un comando “parlante” secondo una tabella di localizzazione sempre aggiornata, disponibile anch’essa in documentazione Microsoft.

Il comando di cui ti parlo è il Set-MailboxRegionalConfiguration, trovi la documentazione all’indirizzo docs.microsoft.com/en-us/powershell/module/exchange/client-access/Set-MailboxRegionalConfiguration?view=exchange-ps.

Se ti interessa il succo, questa è la stringa che ho utilizzato da prompt:

Set-MailboxRegionalConfiguration -id mario.rossi@contoso.com -LocalizeDefaultFolderName:$true -Language it-IT

Dovrai semplicemente sostituire mario.rossi@contoso.com con un indirizzo appartenente al tuo tenant, il resto puoi lasciarlo invariato. Trovi la tabella delle lingue disponibili all’indirizzo msdn.microsoft.com/it-it/library/system.globalization.cultureinfo%28vs.71%29.aspx?f=255&MSPPError=-2147217396.

Outlook: forzare i nomi delle cartelle in italiano

A comando eseguito non otterrai conferma alcuna, passerai semplicemente a una riga vuota di PowerShell, in attesa che tu dica cos’altro fare. La modifica è immediata e l’utente potrà accorgersene autonomamente dando un’occhiata al suo Outlook.

Buon lavoro.

Condividi l'articolo con i tuoi contatti:

Parte tutto da un documento più che approfondito disponibile nel sito di supporto Office (support.office.com): support.office.com/en-us/article/use-network-upload-to-import-your-organization-s-pst-files-to-office-365-103f940c-0468-4e1a-b527-cc8ad13a5ea6, e questo altro non è che un articolo promemoria per ricordare a me (in futuro) e a te (che forse sei capitato da queste parti per caso) la serie di passaggi da portare a termine per eseguire il caricamento di un file PST (che forse hai salvato da qualche parte sul tuo disco locale) su Exchange Online, quindi sul tuo spazio Office 365.

Office 365: importazione PST da disco locale a Exchange Online

I passaggi sono diversi e in alcuni casi macchinosi, ma non sono difficili, ti toccherà semplicemente avere pazienza nei tempi apparentemente morti (diciamo che questa attività -a un certo punto- potrà proseguire in background senza che tu debba necessariamente star fermo lì ad attendere che termini).

Qualsiasi operazione da ora in poi andrà eseguita con un amministratore di Office 365, o per lo meno un livello che abbia tra i suoi ruoli “Mail Recipients” (vedi qui). Io ho usato un amministratore globale.

Carica i dati

Accedi a protection.office.com e spostati in Governance dei dati, quindi in Importa. Ammesso che sia la prima volta che stai per fare questa operazione, dovrai creare una nuova attività di importazione con relativa chiave / URL SAS. Fai clic sul pulsante preposto (Nuovo processo di importazione) e dai un nome al processo (tutto minuscolo, senza spazi), quindi fai presente che caricherai i dati via rete (upload diretto sui server Azure, nda).

Scarica il tool AzCopy in versione più aggiornata, direttamente dai server di Microsoft, e installalo. Ora fai clic su Mostra l’URL della firma di accesso condiviso per il caricamento in rete (nella pagina web dell’importazione) e copia il contenuto mostrato a video, ti servirà entro poco.

Apri un prompt dei comandi e spostati nella cartella di installazione di AzCopy (%ProgramFiles(x86)%\Microsoft SDKs\Azure\AzCopy), quindi avvia AzCopy seguendo poche regole fondamentali:

AzCopy.exe /Source:<CartellaPST> /Dest:<URL SAS> /V:<File di log> /Y
  • <CartellaPST> dovrà corrispondere alla cartella locale all’interno della quale hai posizionato i file PST (anche uno singolo eh, la storia non cambia).
  • <URL SAS> dovrà corrispondere all’URL che hai copiato “poco fa“, generato dalla pagina di importazione dati di Office 365.
  • <File di log> corrisponderà, se lo vuoi, alla posizione personalizzata del file di log sul tuo disco locale.

Volendo fare un esempio, potresti ottenere qualcosa di simile:

AzCopy.exe /Source:"C:\temp\Posta" /Dest:"https://3c3e5952a2764023ad14984.blob.core.windows.net/ingestiondata?sv=2012-02-12&se=9999-12-31T23%3A59%3A59Z&sr=c&si=IngestionSasForAzCopy201601121920498117&sig=Vt5S4hVzlzMcBkuH8bH711atBffdrOS72TlV1mNdORg%3D" /V:"c:\temp\upload.log" /Y

Una volta lanciato il comando, salvo errori, partirà l’upload dei dati verso Azure (ti ricordo che verranno caricati tutti i dati nella cartella sorgente, non fare il mio stesso errore lasciando in quella cartella anche i file di log, finiti anch’essi sullo spazio in cloud, inutilmente!):

Office 365: importazione PST da disco locale a Exchange Online 3

Specifica le corrispondenze

Una volta terminato potrai procedere con lo step successivo, la preparazione del file di corrispondenza tra ciò che tu hai caricato su Azure e la destinazione di ciascun file PST. Per capirci, potresti aver caricato uno, due o forse più file PST dal disco locale, che in realtà appartengono a un solo utente su Office 365. Grazie al file di mappatura (un normale CSV, nda) potrai fare in modo che il contenuto di quei dati finisca tutto nella mailbox di un solo utente.

Nel mio caso la corrispondenza era quella più semplice, 1:1, così come singolo era il file caricato su Azure per fare l’importazione di test (giusto per imparare a usare lo strumento). Tradotto in (pochi) soldoni, questo è il risultato d’esempio:

Workload,FilePath,Name,Mailbox,IsArchive,TargetRootFolder,ContentCodePage,SPFileContainer,SPManifestContainer,SPSiteUrl
Exchange,,CartelleLocali.pst,shared_mailbox@contoso.onmicrosoft.com,FALSE,/,,,,

Tu puoi scaricare il file di esempio e modificarlo partendo da qui. Rapidamente, come fatto per la stringa di upload di AzCopy, ti spiego le corrispondenze dei parametri principali:

  • Workload corrisponde a Exchange se devi importare dei file PST all’interno di caselle di posta ospitate su Office 365.
  • FilePath rimane vuoto se hai caricato i file PST all’interno dello spazio Azure senza specificare una particolare cartella di destinazione, in pratica la cartella radice.
  • Name deve essere sostituito con il vero nome del file PST caricato, occhio al case-sensitive (lettera maiuscola è diversa dalla stessa lettera minuscola). Nel mio esempio qui sopra, il file si chiama CartelleLocali.pst (andrebbe in errore se il file si chiamasse in realtà cartellelocali.pst)
  • Mailbox deve corrispondere alla casella di posta elettronica (personale o condivisa, poco importa) all’interno della quale verranno importati i contenuti del tuo file PST. Sostituisci quindi shared_mailbox@contoso.onmicrosoft.com con il vero indirizzo di posta corrispondente nel tuo Exchange online. Puoi anche importare i contenuti del PST in una Cartella Pubblica, in quel caso ti rimando alla documentazione di Microsoft.
  • IsArchive ti permette di indirizzare il caricamento dei dati verso la casella di posta viva o il suo archivio online (in-place Archive). Nel mio esempio impostata a FALSE, mi permetter di importare i dati del PST nella casella di posta “viva“.
  • TargetRootFolder ti permette di specificare in che cartella importare i contenuti del PST. Lasciando il campo vuoto verrà creata una cartella chiamata “Imported” all’interno della quale finiranno tutti i dati del PST. Diversamente, specificando “/” (sì, senza virgolette!), i contenuti finiranno nella cartella della Posta in arrivo. Puoi altrimenti forzare la cartella di destinazione specificandone il nome, per esempio “Backup” cercherebbe la cartella Backup allo stesso livello della Posta in arrivo, facendoci finire dentro tutti i dati. Se hai possibilità, meglio fare qualche test giusto per capire come funziona.

Scegli se e cosa filtrare, quindi termina

Il processo di importazione dei dati può ormai cominciare. Microsoft analizzerà quanto gli hai chiesto di trasferire e valuterà sulla base dell’età dei contenuti il miglior suggerimento da fornirti, per esempio potrebbe capitarti (come nel mio caso) che quei contenuti siano più vecchi di 12 mesi e che quindi potresti non volerli trasportare tutti online. A te la scelta, chiaramente puoi ignorare il suggerimento e procedere con un’importazione totale.

Non devi fare null’altro. Dovrai esclusivamente attendere il termine del processo, puoi chiudere la finestra e aspettare che venga consegnata una mail di fine lavori alla tua casella di posta elettronica, così da andare poi a verificare che non ci siano stati degli errori di importazione (e se sì, come risolverli). Apri la casella di posta che hai scelto come destinazione di quei contenuti e verifica che ci sia tutto :-)

Cos’altro c’è da sapere?

Una rapida curiosità riguardo i file caricati su Azure, perché volevo sapere come cancellarli, andando invece incontro a una FAQ già eloquente in merito. Copio e incollo:

After I upload my PST files to the Azure storage area, how long are they kept in Azure before they’re deleted?

When you use the network upload method to import PST files, you upload them to an Azure blob container named ingestiondata. If there are no import jobs in progress on the Import page in the Security & Compliance Center), then all PST files in the ingestiondata container in Azure are deleted 30 days after the most recent import job was created in the Security & Compliance Center. That also means you have to create a new import job in the Security & Compliance Center (described in Step 5 in the network upload instructions) within 30 days of uploading PST files to Azure.

This also means that after PST files are deleted from the Azure storage area, they’re no longer displayed in the list of files for a completed import job in the Security & Compliance Center. Although an import job might still be listed on the Import page in the Security & Compliance Center, the list of PST files might be empty when you view the details of older import jobs.

vedi: support.office.com/en-us/article/FAQ-about-importing-PST-files-to-Office-365-2fe71b05-f5a2-4182-ade7-4dc5cabdfd51?ui=en-US&rs=en-US&ad=US

Non dovrei aver dimenticato altro. Nell’eventualità ci fosse qualcosa di poco chiaro inerente lo specifico argomento, lascia pure un commento e cercherò di darti una mano più che volentieri.

Buona importazione!

Condividi l'articolo con i tuoi contatti:

So benissimo quello che stai pensando, che forse un rilascio a così stretto giro dall’altro (lo 0.2 è dello scorso 28 dicembre) è un tantino anomalo, e l’osservazione può anche starci. Il problema è che ho trovato un’anomalia strana per un programma di Microsoft (e più in generale per il suo sistema operativo), il bottone che scatena la macro per esportare i file PDF sul Desktop partendo da una o più mail da te selezionate, tiene conto della differenza tra “PDF” e “pdf, come stessimo parlando di case-sensitive.

SaveModule.bas 0.3 per Outlook 2016 (estrazione PDF dagli allegati)

Me ne sono accorto grazie alla segnalazione di un utente in ufficio, che riusciva a esportare correttamente file con estensione “pdf“, perdendo però per strada alcuni file che avevano come estensione un “.PDF” in maiuscolo. Pur faticando a credere a un case-sensitive prerogativa dei sistemi Unix-Like, ho modificato nuovamente lo script per adattarlo all’esigenza, e stavolta mi sono deciso a integrare il costrutto Case al suo interno, per sostituire l’If semplice che ha fatto fino a ora il suo dovere.

Cosa cambia?

Questo, nello specifico:

sFileType = LCase$(Right$(strFile, 4))

che dopo aver ottenuto il nome del file (strFile = sName & objAttachments.Item(i).FileName), va a estrapolarne le ultime 4 posizioni (in pratica il “.ext” dove ext è l’estensione del file) e fa partire un costrutto Case all’interno del quale si possono specificare più estensioni da portare fuori nella cartella degli Attachments:

Select Case sFileType
Case ".PDF", ".pdf"
 'Combine with the path to the Temp folder.
 strFile = strFolderpath & strFile
 'Save the attachment as a file.
 objAttachments.Item(i).SaveAsFile strFile
End Select

Il resto rimane, per evidenti motivi, invariato. Tu potrai tranquillamente aggiungere ulteriori estensioni di cui tenere conto ponendo un’ulteriore virgola dopo il “.pdf” e aggiungendo magari un formato immagine, per esempio Case ".PDF", ".pdf", ".png".

Ho già aggiornato gli script rilasciati via GitHub, compreso il modulo unico di salvataggio che integra la macro da attivare con il pulsante e la regola automatica di ingresso posta. Trovi qui il codice della macro con pulsante: gist.github.com/gioxx/b7b16bdd96d3541bdfb29b23ed1d7e1d, qui invece quello del modulo intero: gist.github.com/gioxx/1e703b56db11b6363e2d07f4b6617bd9. Ho aggiornato anche la cartella condivisa su Box nel caso tu voglia scaricare tutto il materiale in un solo colpo: app.box.com/s/5ksruqc3pi74fumkbt4wg3avb1f6tmzf.

Per modificare il comportamento del tuo Outlook, potrai semplicemente richiamare la combinazione ALT + F11 da tastiera (per aprire l’editor Visual Basic, nda), selezionare tutto il codice relativo al modulo di salvataggio, cancellarlo, copiare il nuovo codice da Gist e incollarlo, salvando poi la modifica. Il tutto sarà immediatamente operativo.

È giusto ricordare ancora una volta che anche in questa nuova versione del codice non posso fare nulla per le Shared Mailbox caricate in Auto-Mapping e senza copia cache locale su Outlook. Ciò vuol dire che se utilizzi le caselle di posta condivise collegandoti direttamente al server (basta togliere l’opzione “Scarica cartelle condivise” dalle opzioni avanzate del tuo account Exchange), non potrò salvare alcunché nella cartella sul tuo Desktop, perché in realtà quei PDF non esistono sul tuo hard disk, ma vengono scaricati secondo necessità quando fai doppio clic su di loro (o quando chiedi a Outlook di salvarli in una cartella specifica).

Al solito, l’area commenti è a tua totale disposizione per richiedere ulteriori informazioni o rispondere a qualche tuo dubbio. Puoi usare invece Gist per proporre modifiche o miglioramenti al codice.

Buon lavoro!


Immagine di copertina: Caspar Rubin on Unsplash
Condividi l'articolo con i tuoi contatti:

Ammesso che l’argomento abbia solleticato il tuo interesse, il SaveModule.bas è quel file di cui ti ho parlato qualche tempo fa in un articolo dedicato all’estrazione di file PDF dagli allegati delle tue email in Outlook 2016:

Outlook 2016: scaricare insieme gli allegati da diverse mail (PDF)

A seguito di un problema nato da mail (tante) inviate con un allegato sempre diverso (nel contenuto) ma sempre con lo stesso nome (!!!), ho optato per mettere una pezza alla mancanza dello scorso ottobre riguardo l’estrazione e sovrascrittura di file con nome uguale, non pensavo sarebbe stato necessario “e invece“. Ho quindi modificato i due file .bas precedentemente rilasciati (SavePDF_Rule e SavePDF_Button) per integrare il nuovo controllo e correggere (solo per il bottone) una dimenticanza che non inficiava comunque sul risultato finale.

Cosa è cambiato

Nello specifico? Questo:

dtDate = objMsg.SentOn
sName = Format(dtDate, "ddmmyyyy", vbUseSystemDayOfWeek, vbUseSystem) & "_" & Format(dtDate, "hhnnss", vbUseSystemDayOfWeek, vbUseSystem) & "-"

e quindi:

strFile = sName & objAttachments.Item(i).FileName

Che tradotto in parole povere vuol dire che vado a ricavarmi la data e l’ora di ricezione della email contenente il PDF allegato, quindi antepongo a quel PDF il dato appena ricavato, nella modalità ddmmyyyy (due cifre per il giorno, due per il mese, quattro per l’anno, inserendo gli zeri quando e dove necessario), facendo seguire poi l’ora nella modalità hhnnss (due cifre per l’ora, due per i minuti, due per i secondi). Il risultato ti permette di avere più file con lo stesso nome –in origine– ma diverso nella loro destinazione (la cartella “Attachments” sul tuo Desktop, ricordi?).

Puoi tranquillamente copiare l’intero nuovo codice e andarlo a sostituire nel tuo Outlook che esegue già il vecchio, ho aggiornato anche i file già a tua disposizione nella cartella su box.com: app.box.com/s/5ksruqc3pi74fumkbt4wg3avb1f6tmzf. Una volta copiato e incollato il codice (sovrascrivendo quello già presente) ricordati di salvare la modifica (nell’editor Visual Basic di Outlook), sarà immediatamente operativa. Il resto non cambia.

Ricordati che

Rimane ancora lì presente la possibilità di integrare nello script fornito anche ulteriori formati da scaricare dagli allegati mail, come detto in precedenza:

Salvo errori nel processo di “installazione” (se così posso chiamarlo), tutto dovrebbe funzionarti alla perfezione, permettendoti di catturare i file PDF che vengono allegati alle mail che ricevi e portarli nella cartella Attachments sul tuo Desktop. Nessuno però ti impedisce di modificare lo script e fargli verificare l’esistenza di altre estensioni, come doc, docx, xlsx e chi più ne ha più ne metta. Trovi diversi riferimenti in merito nel sito web che più mi ha aiutato a plasmare il risultato di cui avevo necessità (slipstick.com/developer/save-attachments-to-the-hard-drive).

e che anche in questa nuova versione del codice non posso fare nulla per le Shared Mailbox caricate in Auto-Mapping e senza copia cache locale su Outlook. Ciò vuol dire che se utilizzi le caselle di posta condivise collegandoti direttamente al server (basta togliere l’opzione “Scarica cartelle condivise” dalle opzioni avanzate del tuo account Exchange), non potrò salvare alcunché nella cartella sul tuo Desktop, perché in realtà quei PDF non esistono sul tuo hard disk, ma vengono scaricati secondo necessità quando fai doppio clic su di loro (o quando chiedi a Outlook di salvarli in una cartella specifica).

Mi sembra ci sia tutto, anche per stavolta passo e chiudo :-)

Buon lavoro!


Photo by Kevin on Unsplash
Condividi l'articolo con i tuoi contatti:

Sono partito da un’esigenza segnalata da uno degli utenti in ufficio, il quale aveva bisogno di scaricare un grande numero di documenti PDF in un solo colpo, “catturandoli” da più mail già ricevute e messe da parte nel suo Outlook (una mail, un allegato PDF, questa la proporzione). Outlook non prevede questa necessità, e permette esclusivamente di scaricare tutti gli allegati –di una singola mail– in un solo colpo. Aggirare l’ostacolo però è possibile, lo si fa tramite una porzione di codice VBA da andare a inserire nella finestra del Microsoft Visual Basic, richiamabile da ogni singolo programma di Office.

Outlook 2016: scaricare insieme gli allegati da diverse mail (PDF)

Inizialmente pensato come un comportamento da adottare in seguito alla ricezione di una nuova mail (con una regola ad-hoc, per ingaggiare uno script), si è trasformato in un pulsante da andare a inserire nella barra multifunzione di Outlook, un “tool” da tenere a portata di mano in caso di necessità, che a oggi permettono di individuare e scaricare file PDF, ma che con una piccola modifica potrebbe intercettare qualsiasi altra cosa.

Il funzionamento, spiegato in maniera semplice, è questo:

  • si seleziona una o più mail tra quelle del proprio Outlook,
  • si fa clic su un pulsante messo appositamente nella barra multifunzione del client di posta elettronica,
  • si attende che lo script verifichi l’esistenza di file PDF negli allegati delle mail selezionate, quindi li estragga e li vada a inserire in una apposita cartella sul Desktop (che verrà utilizzata se già esistente, creata se invece non presente). Il tutto dura qualche secondo (minuto, se le mail da analizzare sono davvero tante).

Tradotto in passaggi da riprodurre sul proprio Outlook, la cosa cambia, ed è chiaramente più tecnica. Te la faccio il più semplice possibile.

Procedure in comune: notifica per le macro non firmate

Prima di partire, dovrai andare a modificare il comportamento del Centro di sicurezza del tuo Outlook affinché ti faccia comparire degli avvisi a video nel caso in cui venga tentata l’esecuzione di una Macro non firmata. Questo permetterà allo script aggiunto (ne parliamo dopo) di funzionare correttamente, in quanto “home made” (fatto in casa, dai).

Per farlo, dovrai andare in FileOpzioniCentro protezioneImpostazioni Centro protezioneImpostazioni macro e selezionare la voce “Visualizza notifiche per tutte le macro”:

Outlook 2016: scaricare insieme gli allegati da diverse mail (PDF) 1

Un clic su OK per confermare la modifica e chiudere la finestra, sei a posto.

Procedure in comune: VBA

Per entrambi i tipi di comportamento che puoi scatenare in Outlook (salvataggio dei PDF tramite pulsante nella barra multifunzione, oppure tramite regola che lancia lo script), dovrai sempre andare ad aprire la finestra di Microsoft Visual Basic che richiami tramite la combinazione di tasti ALT + F11.

Per facilitarti le cose, ho già impacchettato ciò che ti serve per ottenere il risultato desiderato. Ho scritto due file BAS (codici importabili in VBA) che ho pubblicato su Gist. Il primo è quello relativo al salvataggio scatenato da una regola, il secondo per quello tramite pulsante (quindi manualmente). Scarica ciò che ti serve (fai clic in alto a destra sul pulsante Download ZIP, quindi estrai il contenuto e recupera il file con estensione bas):

Torna nella finestra di Microsoft Visual Basic, fai clic con il tasto destro su Progetto1 e seleziona Importa file, seleziona quindi il file che il file relativo al codice che ti interessa utilizzare per terminare l’importazione, poi fai clic su Salva (nella barra superiore degli strumenti, altrimenti c’è la combinazione da tastiera CTRL + S).

Outlook 2016: scaricare insieme gli allegati da diverse mail (PDF) 2

Nel caso in cui tu volessi entrambi le funzioni (quindi tutto il codice sorgente) fai riferimento a questo ulteriore collegamento a Gist.

Salvare PDF con una regola

Prima di procedere, apri un prompt dei comandi, copia e incolla questa stringa:

REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security" /v EnableUnsafeClientMailRules /t REG_DWORD /d 1 /f

Ciò permetterà di sbloccare la possibilità di utilizzare / richiamare uno script all’interno di una regola di Outlook, opzione disabilitata di default da Microsoft (già da qualche tempo).

Fatto ciò, se hai già caricato il mio script tra i moduli VBA, dovrai solo creare una nuova regola e –nella seconda schermata di avanzamento– chiedergli di eseguire uno script, troverai quello precedentemente caricato tra i disponibili (forse sarà l’unico), utilizzalo e vai avanti con la sua costruzione:

Outlook 2016: scaricare insieme gli allegati da diverse mail (PDF) 3

Troverai (nel caso in cui la regola entri in funzione) i file PDF all’interno della cartella Attachments sul tuo Desktop.

Salvare PDF con un pulsante

Dando per scontato che tu abbia già importato il codice VBA (come già descritto un paio di paragrafi fa),fai clic con il tasto destro sulla barra multifunzione di Outlook e seleziona la voce Personalizza barra multifunzione. Fai clic sul pulsante “Nuovo gruppo” (in basso a destra nel popup comparso), posizionalo dove lo preferisci spostandolo con le frecce su / giù disponibili lateralmente nella finestra a video, quindi rinominalo (suggerisco “Tools“).

Seleziona ora la voce “Macro” nella colonna sinistra “Scegli comandi da:” e aggiungi Progetto1.ExportAttachments, quindi rinominalo in (per esempio) “Estrai PDF”:

Outlook 2016: scaricare insieme gli allegati da diverse mail (PDF) 4

Un clic su OK per salvare e chiudere la finestra, il risultato dovrebbe assomigliare a questo:

Outlook 2016: scaricare insieme gli allegati da diverse mail (PDF) 5

Puoi verificare il funzionamento della modifica selezionando manualmente delle mail e facendo clic sul pulsante. Troverai (se ne esistono, e quindi se vengono estratti) i file PDF all’interno della cartella Attachments sul tuo Desktop.

In conclusione

Attento: ricordati che, allo stato attuale delle cose, due allegati con lo stesso nome non possono coesistere nella stessa cartella Attachments (andrebbe modificato lo script), l’ultimo estratto sovrascrive sempre quello estratto precedentemente.

Salvo errori nel processo di “installazione” (se così posso chiamarlo), tutto dovrebbe funzionarti alla perfezione, permettendoti di catturare i file PDF che vengono allegati alle mail che ricevi e portarli nella cartella Attachments sul tuo Desktop. Nessuno però ti impedisce di modificare lo script e fargli verificare l’esistenza di altre estensioni, come doc, docx, xlsx e chi più ne ha più ne metta. Trovi diversi riferimenti in merito nel sito web che più mi ha aiutato a plasmare il risultato di cui avevo necessità (slipstick.com/developer/save-attachments-to-the-hard-drive).

Tutto il set di script e modifiche da operare vengono rilasciate –come sempre– “as is“, con nessuna garanzia o responsabilità. Tutto è stato provato decine di volte, installato su più PC, fatto funzionare senza battere ciglio, ma sappiamo tutti benissimo che ogni configurazione differisce dall’altra per delle “virgole“. Quella certamente testata si è basata su Outlook 2016 x64 (1708 build 8431.2079). Ne ho caricato una copia completa sul mio spazio box, nel caso in cui ti serva scaricare tutto in un colpo: app.box.com/s/5ksruqc3pi74fumkbt4wg3avb1f6tmzf

L’area commenti, come al solito, resta a disposizione per eventuali suggerimenti e domande inerenti questo articolo.

Buon lavoro!

Condividi l'articolo con i tuoi contatti: