Cómo enviar por lotes todas las hojas de trabajo en un libro de trabajo de Excel como correos electrónicos de Outlook separados

Comparte ahora:

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 de Outlook separados

Envíe por lotes todas las hojas de trabajo en un libro de Excel como correos electrónicos separados

  1. En primer lugar, debe abrir el libro de Excel de origen.
  2. Luego, después de ingresar a la ventana de Excel, debe tocar los atajos de teclas "Alt + F11".
  3. A continuación, aparecerá otra ventana llamada "Microsoft Visual Basic para Aplicaciones".
  4. En él, debe abrir un módulo no utilizado o insertar un módulo nuevo.
  5. 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

Código VBA: envíe por lotes todas las hojas de trabajo en un libro de trabajo de Excel como correos electrónicos de Outlook separados

  1. 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.
  2. Inmediatamente, los correos electrónicos, que corresponden a todas las hojas de trabajo en este libro de Excel, se mostrarán en Outlook.
  3. 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

Comparte ahora:

Los comentarios están cerrados.