Un utente potrebbe voler salvare le e-mail sul disco rigido per visualizzarle indipendentemente da Outlook o per condividerle con qualcun altro. In questo articolo, introdurremo come farlo automaticamente tramite VBA.
Esporta email da Outlook
Non tutti gli utenti di Internet utilizzano Outlook come client di posta elettronica e potrebbero utilizzarne uno alternativo. Potrebbe anche esserci una situazione in cui un'e-mail deve essere condivisa con qualcuno, senza inviare l'e-mail vera e propria. Anche ai fini della documentazione e del controllo, le e-mail sono spesso presentate come prova. Per tali scenari, Outlook offre un metodo per esportare un messaggio di posta elettronica in modo indipendente come file .msg o .html. Il seguente script VBA salva automaticamente ogni e-mail in arrivo in una posizione predefinita sul disco rigido senza l'intervento dell'utente in formato html. Una volta salvata, l'e-mail può essere visualizzata in qualsiasi browser Internet senza la necessità di un client di posta elettronica.
Script VBA di Outlook
Di seguito è riportato lo script VBA di Outlook completo:
Private WithEvents Items As Outlook.Items
Private Count As Integer
Private Sub Application_Startup()
Dim objApp As Outlook.Application
Dim objNameSpace As Outlook.NameSpace
' Get the items in the Inbox folder
Set objApp = Outlook.Application
Set objNameSpace = objApp.GetNamespace("MAPI")
Set Items = objNameSpace.GetDefaultFolder(olFolderInbox).Items
' Initialize count
Count = 1
End Sub
Private Sub Items_ItemAdd(ByVal objItem As Object)
On Error GoTo ShowError
Dim objMail As Outlook.MailItem
' Check if the item is a mail. If yes, then save it as a HTML file and update Count
If TypeName(objItem) = "MailItem" Then
Set objMail = objItem
objMail.SaveAs "C:\MyEmails\MyEmail" & CStr(Count), olHTML
Count = Count + 1
End If
Exit Sub
ShowError:
MsgBox Err.Number & " - " & Err.Description
End Sub
Come eseguire lo script

Comprendi il copione
Nello script, la routine "Items_ItemAdd" verrà attivata su ogni elemento in arrivo nella cartella Posta in arrivo. La funzione "TypeName" è lì per garantire ulteriormente che la routine continui solo se l'elemento è un'e-mail e non altri tipi di oggetto di Outlook. Se trascini un'e-mail da qualsiasi altra cartella, pronuncia "Posta inviata" nella posta in arrivo, la routine funzionerà comunque e farà il lavoro. È importante essere consapevoli del fatto che "Items_ItemAdd" si attiverà solo se un'e-mail viene aggiunta alla cartella Posta in arrivo principale. Se sono presenti cartelle nidificate all'interno della cartella Posta in arrivo principale, il codice non funzionerà se viene aggiunta un'e-mail a una di queste. Per farlo funzionare per qualsiasi altra cartella, "Items_ItemAdd" dovrebbe essere collegato a quella particolare cartella in "Application_Startup”. Nello script sopra, il formato olHTML può essere sostituito con i formati olMSG, olRTF, olDoc o olTxt. Il formato di denominazione predefinito per ogni e-mail da salvare è "MyEmail##", dove ## è il conteggio starting da 1 e salendo in modo incrementale. Ad esempio, la dodicesima email in arrivo dopo l'esecuzione di questo script verrà salvata come "MyEmail12".
Recupero dati dopo un errore di Outlook
Non è uno scenario molto raro che Outlook si rompa e gli utenti finiscano per perdere una grande quantità di dati. Il recupero da tali situazioni può essere un compito molto difficile e che richiede tempo. Per semplificarti la vita in questi casi, puoi usare un Recupero dati Outlook strumento per un recupero efficiente e privo di bug.
Introduzione dell'autore:
Mary Underwood è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui dwg recupero e rar prodotti software di ripristino. Per maggiori informazioni visita www.datanumen.com