Si desea enviar todas las hojas de trabajo en un libro de Excel como correos electrónicos de Outlook separados, puede usar el método presentado en este artículo. Puede guiarlo para que lo realice a granel sin enviar problemas uno por uno.
En mi anterior post "2 métodos rápidos para enviar una hoja de cálculo de Excel como correo electrónico de Outlook”, Puede aprender dos formas de enviar una hoja de cálculo de Excel como correo electrónico. Si desea enviar por lotes todas las hojas de trabajo en un libro de trabajo como correos electrónicos individuales, utilizando cualquiera de los dos medios mencionados en esa post será bastante tedioso y problemático. Por lo tanto, aquí presentaremos otra forma, que puede realizar este tipo de "envío por lotes" en un tiempo rápido.

Envíe por lotes todas las hojas de trabajo en un libro de Excel como correos electrónicos separados
- En primer lugar, debe abrir el libro de Excel de origen.
- Luego, después de ingresar a la ventana de Excel, debe tocar los atajos de teclas "Alt + F11".
- A continuación, aparecerá otra ventana llamada "Microsoft Visual Basic para Aplicaciones".
- En él, debe abrir un módulo no utilizado o insertar un módulo nuevo.
- Posteriormente, puede copiar el siguiente código VBA en este módulo.
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
- Después de eso, puede activar esta macro presionando el botón de la tecla F5 o haciendo clic en el icono "Ejecutar" en la barra de herramientas.
- Inmediatamente, los correos electrónicos, que corresponden a todas las hojas de trabajo en este libro de Excel, se mostrarán en Outlook.
- Finalmente, puede volver a verificar todos los detalles de los correos electrónicos y, por último, hacer clic en el botón "Enviar" para enviar los correos electrónicos.
Aplicar una herramienta de recuperación potente si no hay copias de seguridad
Cada vez más usuarios han entendido la importancia de las copias de seguridad de datos. Siempre que haya realizado una copia de seguridad de su archivo PST, Recuperación de PST después del daño será bastante simple. Pero si no hay una copia de seguridad de PST efectiva y actualizada, no tiene más remedio que recurrir a una herramienta de reparación de PST externa, como DataNumen Outlook Repair. Puede reparar archivos PST comprometidos como una brisa.
Introducción del autor:
Shirley Zhang es experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo recuperar sql y productos de software de reparación de Outlook. Para más información visite www.datanumen.com
