Se desideri inviare tutti i fogli di lavoro in una cartella di lavoro di Excel come e-mail di Outlook separate, puoi utilizzare il metodo introdotto in questo articolo. Può guidarti a realizzarlo in blocco senza inviarne fastidiosamente uno per uno.
Nella mia precedente post "2 metodi rapidi per inviare un foglio di lavoro Excel come e-mail di Outlook", puoi imparare due modi per inviare un foglio di lavoro Excel come e-mail. Se desideri inviare in batch tutti i fogli di lavoro in una cartella di lavoro come singole e-mail, utilizzando uno dei due mezzi menzionati in quel post sarà piuttosto noioso e fastidioso. Pertanto, qui introdurremo un altro modo, che può realizzare tale "Invio batch" in un tempo rapido.

Invia in batch tutti i fogli di lavoro in una cartella di lavoro di Excel come e-mail separate
- In primo luogo, dovresti aprire la cartella di lavoro Excel di origine.
- Quindi, dopo essere entrato nella finestra di Excel, dovresti toccare le scorciatoie da tastiera "Alt + F11".
- Successivamente, verrà visualizzata un'altra finestra denominata "Microsoft Visual Basic for Applications".
- In esso, devi aprire un modulo inutilizzato o inserire un nuovo modulo.
- Successivamente, puoi copiare il seguente codice VBA in questo modulo.
Sub SendEachWorksheet_inOutlookEmail()
Dim objWorksheet As Excel.Worksheet
Dim objRange As Excel.Range
Dim objTempWorkbook As Excel.Workbook
Dim objTempWorksheet As Excel.Worksheet
Dim strTempFolder As String
Dim strHTMLFile As String
Dim objHTMLFile As Object
Dim objFileSystem As Object
Dim objTextStream As Object
Dim objOutlookApp As Outlook.Application
Dim objMail As Outlook.MailItem
For Each objWorksheet In ActiveWorkbook.Sheets
Set objRange = objWorksheet.UsedRange
objRange.Copy
Set objTempWorkbook = Excel.Application.Workbooks.Add(1)
Set objTempWorksheet = objTempWorkbook.Sheets(1)
With objTempWorksheet.Cells(1)
.PasteSpecial xlPasteValues
.PasteSpecial xlPasteColumnWidths
.PasteSpecial xlPasteFormats
End With
strTempFolder = CStr(Environ("USERPROFILE")) & "\AppData\Local\Temp"
strHTMLFile = strTempFolder & "\Temp" & Format(Now, "yyyymmddhhmmss") & ".htm"
Set objHTMLFile = objTempWorkbook.PublishObjects.Add(xlSourceRange, strHTMLFile, objTempWorksheet.Name, objTempWorksheet.UsedRange.Address)
objHTMLFile.Publish (True)
Set objOutlookApp = CreateObject("Outlook.Application")
Set objMail = objOutlookApp.CreateItem(olMailItem)
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFileSystem.OpenTextFile(strHTMLFile)
objMail.HTMLBody = objTextStream.ReadAll
'Change the email details as per your needs
With objMail
.To = "test@datanumen.com"
.Subject = objWorksheet.Name
.Display
End With
objTextStream.Close
objTempWorkbook.Close False
Kill strHTMLFile
Next
End Sub
- Successivamente, è possibile attivare questa macro premendo il tasto F5 o facendo clic sull'icona "Esegui" nella barra degli strumenti.
- Immediatamente, le e-mail, che corrispondono a tutti i fogli di lavoro in questa cartella di lavoro di Excel, verranno visualizzate in Outlook.
- Infine, puoi ricontrollare tutti i dettagli delle e-mail e infine fare clic sul pulsante "Invia" per inviare le e-mail.
Applica un potente strumento di recupero se non ci sono backup
Sempre più utenti hanno capito l'importanza dei backup dei dati. Finché hai eseguito il backup del tuo file PST, Recupero PST dopo il danno sarà abbastanza semplice. Ma se non esiste un backup PST efficace e aggiornato, non hai altra scelta che ricorrere all'aiuto di uno strumento di riparazione PST esterno, come DataNumen Outlook Repair. Può riparare i file PST compromessi come un gioco da ragazzi.
Introduzione dell'autore:
Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui recuperare sql e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com
