Saltar al contenido principal

Tutorial de Excel: enviar correos electrónicos desde Excel

Normalmente, utilizamos clientes de correo electrónico como Outlook, Gmail, etc. para enviar correos electrónicos. Pero muchas personas almacenan datos en libros de Excel y necesitan enviar algunos datos a otros mientras trabajan con ellos. Por lo tanto, necesitan enviar correos electrónicos directamente desde el libro de Excel, lo que ahorra el tiempo de operar un cliente de correo electrónico. Este tutorial paso a paso le mostrará cómo enviar correos electrónicos desde Excel bajo diferentes condiciones.

Note: Antes de aplicar los siguientes métodos, debe configurar un cliente de correo electrónico de Outlook en su computadora y configurarlo como su cliente de correo electrónico predeterminado.

Tabla de contenido: [ Ocultar ]

(Haga clic en cualquier encabezado en la tabla de contenido a continuación o a la derecha para navegar al capítulo correspondiente).

1. Los conceptos básicos para enviar correos electrónicos desde Excel

Esta sección presenta los aspectos básicos del envío de correos electrónicos desde Excel.

1.1 Enviar correos electrónicos desde Excel con funciones integradas de Excel

Si solo desea enviar correos electrónicos simples desde Excel, incluidos solo los campos Para, Asunto, Cc y cuerpo. Las funciones integradas en Excel pueden ayudar.


1.1.1 Enviar correo electrónico desde Excel con una fórmula

Como se muestra en la tabla a continuación, para enviar diferentes correos electrónicos desde Excel en función de los campos dados, puede usar las referencias de celda de los campos dados para crear diferentes fórmulas de hipervínculo para hacerlo. Después de crear los hipervínculos de correo electrónico, puede hacer clic en el hipervínculo que necesita para enviar un correo electrónico automáticamente.

Nota: Si hay más de un destinatario en los campos Para o CC, sepárelos con punto y coma.

Esta sección se divide en cuatro partes para mostrarle los pasos para agregar la dirección de correo electrónico, los destinatarios de CC, la línea de asunto y el texto del cuerpo por separado a la fórmula del hipervínculo. Por favor, haga lo siguiente.

La sintaxis y los argumentos del HYPERLINK función son las siguientes.

Sintaxis

HYPERLINK(link_location, [friendly_name])

Argumentos

Link_location (obligatorio): la ruta y el nombre del archivo del documento que se va a abrir;
Sugerencias: en este tutorial, todos los campos que necesitamos para un correo electrónico, como la dirección de correo electrónico del destinatario, los destinatarios de Cc, la línea de asunto y el cuerpo del texto, deben colocarse en el primer argumento "ubicación_enlace".
Nombre amigable (opcional): el valor de salto que se muestra en la celda.

1.1.1.1 Agregar dirección de correo electrónico a la fórmula de hipervínculo

Aquí usamos "correo a:" como parte de la fórmula para agregar un destinatario de correo electrónico. En este ejemplo, la dirección de correo electrónico del primer destinatario está en la celda B2, por lo que debemos agregar "mailto:" y hacer referencia a la celda B2.

“correo a:”&B2

1. Seleccione una celda para mostrar el hipervínculo. En este caso, selecciono la celda F2.

2. Luego ingrese la siguiente fórmula en él.

=HYPERLINK("mailto:"&B2)

Note: Si presiona el Participar clave, se creará un hipervínculo como se muestra en la siguiente captura de pantalla. Cuando haga clic en el enlace, se creará un correo electrónico de Outlook y la dirección de correo electrónico del destinatario se completará automáticamente en el campo Para.

La dirección de correo electrónico del destinatario ahora se agrega a la fórmula Hipervínculo. Continúe con los siguientes pasos para agregar la línea de asunto, los destinatarios de CC y el texto del cuerpo según lo necesite.


1.1.1.2 Agregar destinatario(s) de CC a la fórmula de hipervínculo

Para agregar los destinatarios de CC a la función Hipervínculo, agregue "?cc=" como parte de la fórmula de la siguiente manera.

"?cc=" & C2
donde C2 contiene la dirección de correo electrónico del destinatario de cc.

La fórmula en la celda F2 debe ser la siguiente:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2)


1.1.1.3 Agregar línea de asunto a la fórmula de hipervínculo

Para agregar la línea de asunto a la función Hipervínculo, agregue "&asunto=" como parte de la fórmula de la siguiente manera.

"&asunto="& D2
donde C2 contiene el asunto del correo electrónico.

La fórmula en la celda F2 ahora debería tener el siguiente aspecto:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2)


1.1.1.4 Agregar cuerpo de texto con saltos de línea a la fórmula de hipervínculo

El último paso es agregar el cuerpo del texto a la fórmula Hipervínculo. Como puede ver en el ejemplo, dos líneas de texto en E2 están separadas por un salto de línea y desea mantener el salto de línea en el cuerpo del correo electrónico. ¿Reconoce Outlook el salto de línea en esta circunstancia? Vamos a comprobarlo.

Para agregar el cuerpo del texto a la fórmula del hipervínculo, debe agregar “&cuerpo=” como parte de la fórmula de la siguiente manera.

"&cuerpo="& E2
donde E2 contiene el cuerpo del texto del correo electrónico.

La fórmula en la celda F2 ahora se muestra de la siguiente manera:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2)

Nota: Si pulsa el Participar clave y haga clic en el enlace. Puede ver en el nuevo correo electrónico que el contenido del cuerpo del correo electrónico se muestra en la misma línea.

Para mostrar el cuerpo del correo electrónico en líneas separadas, debe modificar el contenido de la celda agregando el código de carácter de retorno de carro % 0A al texto donde necesita insertar un salto de línea. Ver captura de pantalla:


1.1.1.5 Especificar el texto que se mostrará para el hipervínculo

En los pasos anteriores, terminamos el argumento Ubicación_del_enlace con campos de correo electrónico. Aquí, en esta sección, vamos a terminar el siguiente argumento [nombre_amigable].

En este caso, quiero que la celda del hipervínculo muestre el texto como "Correo electrónico a xx”, donde xx es el nombre del destinatario en A2. Entonces, la fórmula en F2 debe cambiarse a:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2, "Email to "&A2)

Pulse el botón Participar clave para obtener el resultado.

Seleccione esta celda de fórmula y arrastre su Manija de Autocompletar hacia abajo para crear otros hipervínculos de correo electrónico. Ver captura de pantalla:


1.1.2 Enviar correo electrónico desde Excel con la función Hipervínculo

Excepto por el uso de la fórmula de hipervínculo anterior, puede crear manualmente un hipervínculo de correo electrónico con el recuadro hiperenlace función en Excel. Esta sección le mostrará los pasos.

1. Haga clic derecho en un correo electrónico donde desea insertar un hipervínculo, seleccione Enlace desde el menú contextual.

2. En la aparición Insertar hipervínculo cuadro de diálogo, debe configurarlo de la siguiente manera.

2.1) Seleccionar Dirección de correo electrónico en el panel izquierdo.
2.2) en el Texto para mostrar cuadro de texto, escriba el texto que desea mostrar en la celda;
Tips: no puede usar referencias de celda en este cuadro de diálogo, por lo que debe escribir los campos de correo electrónico manualmente de la siguiente manera.
2.3) en el Dirección de correo electrónico cuadro de texto, debe escribir las siguientes direcciones de correo electrónico.
mailto:dirección de correo electrónico
Por favor reemplace el texto “dirección de correo electrónico” con su dirección de correo electrónico real. Si tiene más de una dirección de correo electrónico, sepárelas con punto y coma.
2.4) en el Asunto cuadro de texto, puede especificar el asunto y el cuerpo del correo electrónico aquí mismo. Por favor configure de la siguiente manera:
Asunto y cuerpo del correo electrónico=Cuerpo del correo electrónico
En este caso, escribo Venta mensual&body=Hola,%0AEmail recibido.
> donde el asunto es Venta mensual;
y
> el cuerpo del correo es:
Hola,
Correo electrónico recibido. (% 0A es el código de carácter de retorno de carro que Outlook puede reconocer)
2.5) Haga clic en OK botón para guardar el hipervínculo. Ver captura de pantalla:

Al hacer clic en el hipervínculo, se creará un correo electrónico de Outlook con los campos Para, Asunto y Cuerpo especificados, como se muestra en la siguiente captura de pantalla.

Notas:

1) Con este método, tenía que crear los hipervínculos de correo electrónico cada uno manualmente.
2) No puede agregar el campo Cc a los correos electrónicos con este método. Entonces, si necesita el campo Cc, agréguelo desde la nueva ventana de correo electrónico que se abre.

1.2 Enviar correo electrónico a múltiples destinatarios en celdas con script VBA

En el ejemplo anterior, puede ver que se muestran varias direcciones de correo electrónico en una celda, separadas por punto y coma. Si tiene una lista de direcciones de correo electrónico como se muestra en la captura de pantalla a continuación y desea enviar un correo electrónico o un correo electrónico independiente a todas ellas, el siguiente código de VBA puede hacerle un favor.


1.2.1 Enviar un correo electrónico a múltiples destinatarios en celdas con script VBA

1. En la hoja de trabajo que contiene todas las direcciones de correo electrónico a las que desea enviar el correo electrónico. presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo, y luego pegue el siguiente código en el Módulo (Código) ventana.

Código de VBA: envíe un correo electrónico a una lista de direcciones de correo electrónico

Sub sendmultiple()
'updateby Extendoffice 20220802
    Dim xOTApp As Object
    Dim xMItem As Object
    Dim xCell As Range
    Dim xRg As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOTApp = CreateObject("Outlook.Application")
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    Set xMItem = xOTApp.CreateItem(0)
    With xMItem
        .To = xEmailAddr
        .Subject = "Test"
        .Body = "Dear " _
                & vbNewLine & vbNewLine & _
                "This is a test email " & _
                "sending in Excel"
        .Display
    End With
End Sub

3. presione el F5 clave para ejecutar el código y una Kutools for Excel aparece el cuadro de diálogo. Seleccione la lista de direcciones de correo electrónico y haga clic en OK.

Notas:

1) Si no desea que aparezca el cuadro de diálogo anterior y desea especificar el rango de direcciones de correo electrónico en el código directamente, reemplace esta línea:
Establezca xRg = Application.InputBox ("Seleccione la lista de direcciones:", "Kutools for Excel", xTxt, , , , , 8)
Establecer xRg = Rango ("A2: A7")
2) Puede especificar su propio asunto y cuerpo de correo electrónico en las siguientes líneas:
.Asunto = "Prueba"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Para enviar directamente el correo electrónico sin abrir la siguiente ventana de mensaje nuevo, debe reemplazar esta línea:
.Monitor
.Enviar

Después de ejecutar el código, todas las direcciones de correo electrónico en el rango seleccionado se muestran en el campo Para de la ventana del mensaje. Ver captura de pantalla:


1.2.2 Envíe correos electrónicos por separado a cada destinatario enumerado en celdas con script VBA

El código anterior agrega todas las direcciones de correo electrónico en el rango seleccionado al campo Para de la ventana del mensaje. Si desea enviar correos electrónicos a cada dirección de correo electrónico enumerada en las celdas por separado sin permitir que vean las direcciones de correo electrónico de los demás, puede probar el siguiente script de VBA.

1. En la hoja de trabajo que contiene todas las direcciones de correo electrónico a las que desea enviar los correos electrónicos. presione el otro + F11 claves para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Móduloy luego pegue el siguiente código en la ventana Módulo (Código).

Código de VBA: envíe correos electrónicos a cada dirección de correo electrónico enumerada en las celdas por separado

Sub SendEmailToAddressInCells()
'Updated by Extendoffice 20220802
    Dim xRg As Range
    Dim xRgEach As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
    For Each xRgEach In xRg
        xRgVal = xRgEach.Value
        If xRgVal Like "?*@?*.?*" Then
            Set xMailOut = xOutApp.CreateItem(olMailItem)
            With xMailOut
                .To = xRgVal
                .Subject = "Test"
                .Body = "Dear " _
                      & vbNewLine & vbNewLine & _
                        "This is a test email " & _
                        "sending in Excel"
                .Display
                '.Send
            End With
        End If
    Next
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

3. Luego haga clic Herramientas > Referencias. En Referencias - VBAProject cuadro de diálogo, busque y marque el Biblioteca de objetos de Microsoft Outlook 16.0 cuadro y luego haga clic en el OK Para guardar los cambios.

4. presione el F5 clave para ejecutar el código y una Kutools for Excel aparece el cuadro de diálogo. Seleccione la lista de direcciones de correo electrónico y haga clic en DE ACUERDO.

Notas:

1) Si no desea que aparezca el cuadro de diálogo anterior y desea especificar el rango de direcciones de correo electrónico en el código directamente, reemplace esta línea:
Establezca xRg = Application.InputBox ("Seleccione la lista de direcciones:", "Kutools for Excel", xTxt, , , , , 8)
Establecer xRg = Rango ("A2: A7")
2) Puede especificar su propio asunto y cuerpo de correo electrónico en las siguientes líneas:
.Subject = "Test"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Para enviar directamente el correo electrónico sin abrir las siguientes ventanas de mensajes, debe reemplazar esta línea:
.Monitor
.Enviar

En este ejemplo, hay seis direcciones de correo electrónico en el rango seleccionado, por lo que se crearán automáticamente seis ventanas de mensajes de Outlook con direcciones de correo electrónico separadas en el campo Para, como se muestra en la siguiente captura de pantalla.

5. Por fin, haga clic en Enviar botón para enviar el correo electrónico uno por uno.


2. Inserte archivos adjuntos o firma de Outlook en los correos electrónicos enviados desde Excel (con scripts VBA)

Esta sección le mostrará cómo insertar archivos adjuntos o la firma predeterminada de Outlook en los correos electrónicos enviados desde Excel.

2.1 Insertar archivos adjuntos en los correos electrónicos enviados desde Excel

Aquí describimos los diferentes casos de inserción de archivos adjuntos, y puede elegir el método según sus necesidades. En esta sección, puede aprender a (haga clic en cualquiera de los siguientes enlaces para navegar al método correspondiente):


2.1.1 Enviar por correo electrónico un determinado archivo como archivo adjunto

Puede aplicar el siguiente código VBA para enviar por correo electrónico uno o más archivos en una carpeta como archivos adjuntos desde Excel.

1. presione el otro + F11 llaves.

2. En la apertura Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo. Luego pegue el siguiente código VBA en la ventana Módulo (Código).

Código de VBA: envíe archivos por correo electrónico en una carpeta como archivos adjuntos de Excel

Sub EmailWithAttachments()
'Updated by Extendoffice 20220802
    Dim xStrFile As String
    Dim xFilePath As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
    If xFileDlg.Show = -1 Then
        With xMailOut
            .BodyFormat = olFormatRichText
            .To = ""
            .Subject = "test"
            .HTMLBody = "test"
            For Each xFileDlgItem In xFileDlg.SelectedItems
                .Attachments.Add xFileDlgItem
            Next xFileDlgItem
            .Display
        End With
    End If
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

Notas:

1) En la línea .A = , por favor reemplace con la dirección de correo electrónico de su propio destinatario;
2) Cambie el asunto del correo electrónico y el cuerpo del correo electrónico por separado en la línea .Subject = "prueba" y .HTMLBody = "prueba";
3) Puede agregar destinatarios Cc y Bcc según lo necesite. Simplemente agregue las siguientes dos líneas debajo de la línea .a = .
.CC = "dirección de correo electrónico"
.BCC = "dirección de correo electrónico"

3. Luego haga clic Herramientas > Referencias. En Referencias - VBAProject cuadro de diálogo, busque y marque el Biblioteca de objetos de Microsoft Outlook 16.0 cuadro y luego haga clic en el OK Para guardar los cambios.

4. presione el F5 clave para ejecutar el código, luego una Explorar aparece una ventana emergente, seleccione los archivos que necesita adjuntar en el correo electrónico y luego haga clic en OK.

Luego aparece una ventana de mensaje. Puede ver que los archivos seleccionados se muestran como archivos adjuntos en el campo Adjunto.


2.1.2 Enviar por correo electrónico la hoja de trabajo actual como archivo adjunto

Si desea enviar por correo electrónico la hoja de trabajo actual como un archivo adjunto desde Excel, puede aplicar el script VBA en esta sección.

1. presione el otro + F11 llaves.

2. En la apertura Microsoft Visual Basic para aplicaciones ventana, haga clic insertar > Módulo. Luego pegue el siguiente código VBA en el Módulo (Código) ventana.

Código de VBA: envíe por correo electrónico la hoja de trabajo actual como un archivo adjunto

Sub SendWorkSheet()
'Update by Extendoffice 20220802
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
ActiveSheet.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte features"
    .Body = "Please check and read this document."
    .Attachments.Add Wb2.FullName
    .Display
    '.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Application.ScreenUpdating = True
End Sub

Notas:

1) En la línea.a = , por favor reemplace con la dirección de correo electrónico del destinatario real. Si necesita más de una dirección de correo electrónico, sepárelas con punto y coma.
2) Cambie el asunto del correo electrónico y el cuerpo del correo electrónico por separado en la línea .Subject = "características kte" y .Body = "Por favor revise y lea este documento".;
3) En las dos líneas siguientes:
.CC = "dirección de correo electrónico"
.BCC = "dirección de correo electrónico"
Si desea agregar los destinatarios cc y bcc, reemplace el texto "dirección de correo electrónico” en las líneas con las direcciones de correo electrónico que necesita.
Si no necesita los destinatarios cc y bcc, simplemente agregue un apóstrofe ' antes de cada línea.

3. presione el F5 para ejecutar el código, la hoja de cálculo actual se guarda como un libro de Excel y se inserta automáticamente en una ventana de mensaje como archivo adjunto. Ver captura de pantalla:

Nota: El libro de trabajo adjunto que contiene solo la hoja de trabajo actual tiene el mismo nombre que el libro de trabajo original. Y la hora en que ejecuta el código también se agrega al nombre del libro.


2.1.3 Enviar por correo electrónico el libro de trabajo actual como archivo adjunto

Después de aprender el código de VBA para enviar por correo electrónico la hoja de trabajo actual como un archivo adjunto desde Excel, aquí proporcionamos otro script de VBA para ayudarlo a enviar por correo electrónico el libro de trabajo completo como un archivo adjunto. Por favor, haga lo siguiente.

1. presione el otro + F11 llaves.

2. En la apertura Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo. Luego pegue el siguiente código VBA en la ventana Módulo (Código).

Código de VBA: envíe por correo electrónico el libro de trabajo actual como un archivo adjunto desde Excel

Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

Notas:

1) En la línea .A = , por favor reemplace con la dirección de correo electrónico del destinatario real. Si necesita más de una dirección de correo electrónico, sepárelas con punto y coma.
2) Cambie el asunto del correo electrónico y el cuerpo del correo electrónico por separado en la línea .Subject = "características kte" y .Body = "Por favor revise y lea este documento".;
3) En las dos líneas siguientes:
.CC = "dirección de correo electrónico"
.BCC = "dirección de correo electrónico"
Si desea agregar los destinatarios cc y bcc, reemplace el texto "dirección de correo electrónico” en las líneas con las direcciones de correo electrónico que necesita.
Si no necesita los destinatarios cc y bcc, simplemente agregue un apóstrofe ' antes de cada línea.

3. presione el F5 para ejecutar el código, luego el libro de trabajo actual se inserta en una ventana de mensaje como un archivo adjunto automáticamente. Ver captura de pantalla:


2.1.4 Envíe por correo electrónico el libro de trabajo completo como archivo PDF adjunto

La mayoría de las personas tienden a guardar un libro de Excel como un archivo PDF y luego lo envían como un archivo adjunto a otros. En esta sección, le mostraré una forma de enviar correos electrónicos directamente desde Excel con el libro de trabajo abierto actual como archivo PDF adjunto sin tener que guardar manualmente el libro de trabajo como archivo PDF.

1. presione el otro + F11 llaves.

2. En la apertura Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo. Luego pegue el siguiente código VBA en la ventana Módulo (Código).

Código de VBA: envíe por correo electrónico el libro de trabajo completo como un archivo PDF adjunto

Sub SendWorkBookAsPDF()
'Update 20220803
Dim Wb As Workbook
Dim FilePath As String
Dim FileName As String
Dim xOutApp As Object
Dim xOutMail As Object
On Error Resume Next

Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Now, "dd-mmm-yy h-mm-ss") & ".pdf"
FilePath = Environ$("temp") & "\" & FileName

Wb.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
    FilePath, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
    False

Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
With xOutMail
       .To = ""
       .CC = "Email Address"
       .BCC = "Email Address"
       .Subject = "test"
       .Body = "test"
       .Attachments.Add FilePath
       .Display   'or use .Send
   End With
Kill FilePath
Set xOutMail = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub

Notas:

1) En la línea .A = , por favor reemplace con la dirección de correo electrónico del destinatario real. Si necesita más de una dirección de correo electrónico, sepárelas con punto y coma.
2) Cambie el asunto del correo electrónico y el cuerpo del correo electrónico por separado en la línea .Subject = "prueba" y .Cuerpo = "prueba";
3) En las dos líneas siguientes:
.CC = "Dirección de correo electrónico"
.BCC = "Dirección de correo electrónico"
Si desea agregar los destinatarios cc y bcc, reemplace el texto "Correo electrónico” en las líneas con las direcciones de correo electrónico que necesita.
Si no necesita los destinatarios cc y bcc, simplemente agregue un apóstrofe ' antes de cada línea.
4) El nombre del archivo PDF será el mismo que el nombre del libro de trabajo original. Y la hora en que ejecuta el código también se agregará al nombre del libro de trabajo. Si no necesita agregar la marca de tiempo al nombre del archivo, elimine & Formato (Ahora, "dd-mmm-yy h-mm-ss") de la línea siguiente.
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Now, "dd-mmm-yy h-mm-ss") & ".pdf "

3. presione el F5 clave para ejecutar el código. Luego, el libro de trabajo actual se inserta automáticamente en una nueva ventana de mensaje como un archivo PDF adjunto. Ver captura de pantalla:


2.1.5 Enviar por correo electrónico la hoja de trabajo actual como archivo PDF adjunto

Por ejemplo, hay un libro de trabajo llamado "Ventas mensuales" y ha terminado una tabla de informe de ventas en una hoja de trabajo llamada "informe de ventas" y desea enviar esta hoja de trabajo como un archivo PDF a sus colegas. El siguiente código de VBA puede hacerte un favor.

1. presione el otro + F11 llaves.

2. En la apertura Microsoft Visual Basic para aplicaciones ventana, haga clic insertar > Módulo. Luego pegue el siguiente código VBA en la ventana Módulo (Código).

Código de VBA: envíe por correo electrónico la hoja de trabajo actual como un archivo PDF adjunto

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .Body = "test"
    .Attachments.Add FileName
    .Display
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

Notas:

1) En la línea .A = , por favor reemplace con la dirección de correo electrónico del destinatario real. Si necesita más de una dirección de correo electrónico, sepárelas con punto y coma.
2) Cambie el asunto del correo electrónico y el cuerpo del correo electrónico por separado en la línea .Subject = "prueba" y .Cuerpo = "prueba";
3) En las dos líneas siguientes:
.CC = "Dirección de correo electrónico"
.BCC = "Dirección de correo electrónico"
Si desea agregar los destinatarios cc y bcc, reemplace el texto "Correo electrónico” en las líneas con las direcciones de correo electrónico que necesita.
Si no necesita los destinatarios cc y bcc, simplemente agregue un apóstrofe ' antes de cada línea.
4) El nombre del archivo PDF será: el nombre del libro de trabajo original_el nombre de la hoja de trabajo original. En este caso, el nombre del PDF será Monthly sales_sales report.

3. presione el F5 clave para ejecutar el código. Luego, la hoja de trabajo actual se inserta automáticamente en una nueva ventana de mensaje como un archivo PDF adjunto. Ver captura de pantalla:


2.2 Insertar la firma de Outlook en los correos electrónicos enviados desde Excel

Tome el caso anterior como ejemplo, aplica el código VBA anterior para enviar la hoja de trabajo actual como un archivo PDF adjunto desde Excel, pero la firma de Outlook no se puede agregar a la ventana del mensaje. Para conservar la firma predeterminada de Outlook en el correo electrónico enviado desde Excel, el siguiente método ayudará.

Dos códigos de VBA se enumeran a continuación.

Código VBA 1: el código ayuda a conservar la firma de Outlook.

Código VBA 2: el código ayuda a enviar por correo electrónico la hoja de trabajo actual como un archivo PDF adjunto.

Código VBA 1: conservar la firma de Outlook

.HTMLBody = "Email body" & "
" & .HTMLBody

Código VBA 2: envíe por correo electrónico la hoja de trabajo actual como un archivo PDF adjunto

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .Body = "test"
    .Attachments.Add FileName
    .Display
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

1. Normalmente, debe presionar el botón otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo. Luego pegue el código VBA 2 anterior en la ventana Módulo (Código).

3. Para conservar la firma predeterminada de Outlook en el correo electrónico enviado desde Excel, debe modificar el código VBA 2 de la siguiente manera:

1) Reemplace el .Cuerpo linea con Código 1 de VBA;
2) Mover la línea .Monitor debajo de la linea Con OutlookMail (o Con xMailOut en otros códigos). Ver captura de pantalla:

Aquí está el código completo después de la modificación.

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .Display
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .HTMLBody = "Email body" & "
" & .HTMLBody .Attachments.Add FileName '.Send End With Kill FileName Set OutlookMail = Nothing Set OutlookApp = Nothing End Sub

4. presione el F5 clave para ejecutar el código. Luego obtendrá una nueva ventana de mensaje con la hoja de trabajo actual adjunta como un archivo PDF, mientras que la firma predeterminada de Outlook se insertará automáticamente al final del cuerpo del correo electrónico.


3. Envíe automáticamente correos electrónicos desde Excel cuando se cumpla una condición (con scripts de VBA)

En los ejemplos anteriores, debe ejecutar el código manualmente para lograr la entrega del correo electrónico. Si desea activar el código automáticamente cuando se cumple una determinada condición, como cuando una celda alcanza un valor determinado, cuando cambia el valor de una celda, cuando se alcanza una fecha, etc., el correo electrónico se enviará automáticamente. Esta sección enumera las condiciones que los usuarios de Excel buscan a menudo en Google para ayudarlo a enviar automáticamente correos electrónicos desde Excel cuando se cumple una determinada condición.

3.1 Enviar automáticamente un correo electrónico cuando una celda alcanza un cierto valor

Como se muestra en la captura de pantalla a continuación, suponga que tiene una tabla de ventas con la celda D6 que contiene el total de ventas. Desea enviar automáticamente un correo electrónico a su jefe en función del total de ventas, por ejemplo, cree o envíe un correo electrónico automáticamente cuando el total de ventas supere 10000, pero si el total de ventas es igual o inferior a 10000, no se realiza ninguna acción.

1. En la hoja de trabajo que contiene la tabla de ventas, haga clic derecho en la pestaña de la hoja y haga clic en Ver código desde el menú contextual.

2. En la apertura Microsoft Visual Basic para aplicaciones ventana, pegue el siguiente código VBA en el Hoja (Código) ventana.

Código VBA: envíe automáticamente un correo electrónico cuando una celda alcance un cierto valor en Excel

Dim xRg As Range
'Update by Extendoffice 20200803
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
Set xRg = Intersect(Range("D6"), Target)
If xRg Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 10000 Then
Call Mail_small_Text_Outlook
End If
End Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
On Error Resume Next
With xOutMail
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "test"
.Body = xMailBody
.Display 'or use .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub

Private Sub Worksheet_Calculate()
Dim xI As Integer
Dim xRg As Range
Set xRg = Range("D6")
On Error GoTo Err01
xI = Int(xRg.Value)
If xI > 10000 Then
Call Mail_small_Text_Outlook
End If
Err01:
End Sub

Notas:

1) D6 es la celda en base a cuyo valor enviará un correo electrónico.
2) > 10000 es la condición, lo que significa que se enviará un correo electrónico cuando el valor en D6 sea mayor que 10000.
3) Rango ("D6") en la siguiente línea significa que el cuerpo del correo electrónico hará referencia al valor en D6.
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
4) En la línea .A = , por favor reemplace con la dirección de correo electrónico del destinatario real. Si necesita más de una dirección de correo electrónico, sepárelas con punto y coma.
5) Cambie el asunto del correo electrónico en la línea .Subject = "prueba".
6) En las dos líneas siguientes:
.CC = "Dirección de correo electrónico"
.BCC = "Dirección de correo electrónico"
Si desea agregar los destinatarios cc y bcc, reemplace el texto "Correo electrónico” en las líneas con las direcciones de correo electrónico que necesita.
Si no necesita los destinatarios cc y bcc, simplemente agregue un apóstrofe ' antes de cada línea.

De ahora en adelante, cuando el valor en la celda D6 supere los 10000, se creará un correo electrónico como se muestra en la siguiente captura de pantalla.


3.2 Enviar automáticamente un correo electrónico cuando cambie el valor de una celda

Como se muestra en la captura de pantalla a continuación, suponga que recibe un libro de trabajo que contiene las ventas mensuales en diferentes hojas de trabajo y el total de ventas en una hoja de trabajo. Debe verificar el total de ventas y, si se modifica el total de ventas, devolver el libro de trabajo al remitente e informarle que la celda se ha modificado.

1. En la hoja de trabajo que contiene la tabla de ventas, haga clic derecho en la pestaña de la hoja y haga clic en Ver código desde el menú contextual.

2. En la apertura Microsoft Visual Basic para aplicaciones ventana, pegue el siguiente código VBA en la ventana Hoja (Código).

Código de VBA: envíe automáticamente un correo electrónico cuando cambie un valor de celda específico

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220803
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
Dim xBoolean As Boolean
Dim xItsRG As Range
Dim xDDs As Range
Dim xDs As Range
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xBoolean = False
Set xRg = Range("B14")

Set xItsRG = Intersect(Target, xRg)
Set xDDs = Intersect(Target.DirectDependents, xRg)
Set xDs = Intersect(Target.Dependents, xRg)
If Not (xItsRG Is Nothing) Then
Set xRgSel = xItsRG
xBoolean = True
ElseIf Not (xDDs Is Nothing) Then
Set xRgSel = xDDs
xBoolean = True
ElseIf Not (xDs Is Nothing) Then
Set xRgSel = xDs
xBoolean = True
End If

ActiveWorkbook.Save
If xBoolean Then
Debug.Print xRgSel.Address

Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "The cell " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."

With xMailItem
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "Worksheet modified"
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Notas: En el código,

1) B14 en el código significa que cuando cambie el valor de la celda B14, enviará un correo electrónico.
2) En la línea .A = , por favor reemplace con la dirección de correo electrónico del destinatario real. Si necesita más de una dirección de correo electrónico, sepárelas con punto y coma.
3) Cambie el asunto del correo electrónico en la línea .Subject = "Hoja de trabajo modificada".
4) En las dos líneas siguientes:
.CC = "Dirección de correo electrónico"
.BCC = "Dirección de correo electrónico"
Si desea agregar los destinatarios cc y bcc, reemplace el texto "Correo electrónico” en las líneas con las direcciones de correo electrónico que necesita.
Si no necesita los destinatarios cc y bcc, simplemente agregue un apóstrofe ' antes de cada línea.

De ahora en adelante, cuando cambie el valor en la celda B14, se creará automáticamente un mensaje de Outlook como se muestra en la siguiente captura de pantalla.


3.3 Enviar automáticamente un correo electrónico cuando se guarda un libro de trabajo

Si tiene un libro de trabajo que debe compartirse con otros después de modificarlo, normalmente debe guardar el libro de trabajo, iniciar el cliente de correo electrónico, crear un nuevo correo electrónico con este libro de trabajo adjunto, redactar los campos correspondientes y luego enviar el correo electrónico. Esta sección le mostrará un método para crear un correo electrónico automáticamente cada vez que guarde el libro de trabajo. Por favor, haga lo siguiente.

1. presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En esta ventana, haga doble clic ThisWorkbook existentes Proyecto panel, luego pegue el siguiente código VBA en el ThisWorkbook (Código) ventana.

Código de VBA: envíe automáticamente un correo electrónico cuando se guarde un libro de trabajo

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20220804
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xName As String
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailItem = xOutApp.CreateItem(0)
    xName = ActiveWorkbook.FullName
    With xMailItem
        .To = ""
        .CC = "Email address"
        .BCC = "Email address"
        .Subject = "The workbook has been updated"
        .Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
        .Attachments.Add xName
        .Display
       '.send
    End With
    Set xMailItem = Nothing
    Set xOutApp = Nothing
End Sub

Notas: En el código,

1) En la línea .A = , por favor reemplace con la dirección de correo electrónico del destinatario real. Si necesita más de una dirección de correo electrónico, sepárelas con punto y coma.
2) Cambie el asunto y el cuerpo del correo electrónico por separado en las líneas .Subject = "El libro de trabajo ha sido actualizado" y .Body = "Hola", & Chr(13) & Chr(13) & "El archivo ahora se actualizó"..
3) En las dos líneas siguientes:
.CC = "Dirección de correo electrónico"
.BCC = "Dirección de correo electrónico"
Si desea agregar los destinatarios cc y bcc, reemplace el texto "Correo electrónico” en las líneas con las direcciones de correo electrónico que necesita.
Si no necesita los destinatarios cc y bcc, simplemente agregue un apóstrofe ' antes de cada línea.

3. De ahora en adelante, al guardar el libro de trabajo presionando el botón Ctrl + S teclas o haciendo clic en el Guardar botón, se creará automáticamente un correo electrónico de Outlook. Puede ver que el libro de trabajo actual se adjunta como archivo adjunto y los campos se completan con el contenido especificado. Ver captura de pantalla:

Tips: Si utiliza con frecuencia este libro de trabajo, le recomendamos que guarde el libro de trabajo como un Libro de Excel habilitado para macros para guardar el script de VBA para usarlo en el futuro. Los pasos son los siguientes.

1) Click Archive > Guardar comoy luego elija una carpeta para guardar el archivo.
2) en el Guardar como cuadro de diálogo, cambie el nombre del archivo como necesite en el Nombre de archivo cuadro de texto, elija Libro de Excel habilitado para macros existentes Guardar como tipo lista desplegable, y finalmente haga clic en el Guardar botón. Ver captura de pantalla:


3.4 Enviar automáticamente un correo electrónico a una hora específica

Supongamos que necesita enviar un correo electrónico con un libro de trabajo de asignación de tareas a alguien todos los viernes por la mañana a las 9 amy quiere hacer esto automáticamente en Excel sin tener que operar manualmente el cliente de correo electrónico. Esta sección le mostrará el método para hacerlo.

1. presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo. Luego pegue el siguiente código VBA en la ventana Módulo.

Código VBA 1: envíe por correo electrónico el libro de trabajo actual como un archivo adjunto desde Excel

Sub Timer()
    If Weekday(Date) = vbFriday Then
        SendWorkBook
        Application.OnTime TimeValue("09:00:00"), "Timer"
    Else
        Application.OnTime TimeValue("09:00:00"), "Timer"
    End If
End Sub

Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

3. En esta ventana, haga doble clic ThisWorkbook existentes Proyecto panel, luego pegue el siguiente código VBA en el ThisWorkbook (Código) ventana.

Código VBA 2: envíe automáticamente un correo electrónico en un momento específico

Private Sub Workbook_Open()
    Application.OnTime TimeValue("09:00:00"), "Timer"
End Sub

Notas:

1) En el código VBA 1, Viernes en la siguiente línea significa que el correo electrónico se enviará automáticamente todos los viernes;
Si Día de la semana (Fecha) = vbViernes Entonces
2) En VBA código 1 y VBA código 2, el tiempo 09:00:00 significa que el correo electrónico se enviará a las 9 a.m. de un día determinado.
Puedes cambiar el día y la hora según lo necesites.
3) Cuando se ejecute el código, se creará un correo electrónico. Si no desea que aparezca la ventana del mensaje y necesita enviarlo directamente, elimine la línea .Monitor del código VBA 1 y elimine el apóstrofo antes de la línea '.Enviar.

4. Guarde los códigos y luego guarde el libro de trabajo como un libro de trabajo habilitado para macros de Excel de la siguiente manera.

4.1) Click Archive > Guardar comoy luego elija una carpeta para guardar el archivo.
4.2) en el Guardar como cuadro de diálogo, cambie el nombre del archivo como necesite en el Nombre de archivo cuadro de texto, elija Libro de Excel habilitado para macros existentes Guardar como tipo lista desplegable, y finalmente haga clic en el Guardar botón. Ver captura de pantalla:

5. Abra su libro de trabajo habilitado para macros guardado, luego se creará o enviará un correo electrónico automáticamente cuando llegue el día y la hora.


4. Temas adicionales

Esta sección recopila otros temas que puede encontrar al enviar correos electrónicos desde Excel.

4.1 Enviar por correo electrónico un rango de celdas de Excel (con secuencia de comandos VBA)

Supongamos que hay una tabla de ventas mensuales en una hoja de cálculo de Excel, como se muestra en la captura de pantalla a continuación, y necesita enviar esta tabla de ventas mensuales a otros como contenido del cuerpo de un correo electrónico o como archivo adjunto directamente. Aquí le proporcionamos dos métodos para hacerlo.

4.1.1 Envíe un rango por correo electrónico como parte del contenido del cuerpo de Excel

Puede ejecutar el siguiente código VBA para enviar un rango de celdas como parte del contenido del cuerpo del correo electrónico desde Excel

1. presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En el Microsoft Visual Basic para aplicaciones ventana, haga clic Herramientas > Referencias. Y luego revisa el Biblioteca de objetos de Microsoft Outlook 16.0 cuadro y clic OK existentes Referencias - VBAProject caja de diálogo.

3. Hacer clic en recuadro > Módulo, luego pegue el siguiente código VBA en el Módulo (Código) ventana.

Código VBA: envíe un rango de celdas como parte del contenido del cuerpo del correo electrónico desde Excel

Sub SendARangeofCells()
'Updated by Extendoffice 20220809
    Dim xRg As Range
    Dim I, J As Long
    Dim xAddress As String
    Dim xMailOut As Object
    Dim xOutApp As Object
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    With xMailOut
        .Subject = "test"
        .To = ""
        .CC = "Email address"
        .BCC = "Email address"
        .HTMLBody = RangetoHTML(xRg)
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

 ' The following VBA script is cited from this page:
 ' https://stackoverflow.com/questions/18663127/paste-excel-range-in-outlook
Function RangetoHTML(rng As Range)
' By Ron de Bruin.
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    Dim TempWB As Workbook

    TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"

    'Copy the range and create a new workbook to past the data in
    rng.Copy
    Set TempWB = Workbooks.Add(1)
    With TempWB.Sheets(1)
        .Cells(1).PasteSpecial Paste:=8
        .Cells(1).PasteSpecial xlPasteValues, , False, False
        .Cells(1).PasteSpecial xlPasteFormats, , False, False
        .Cells(1).Select
        Application.CutCopyMode = False
        On Error Resume Next
        .DrawingObjects.Visible = True
        .DrawingObjects.Delete
        On Error GoTo 0
    End With

    'Publish the sheet to a htm file
    With TempWB.PublishObjects.Add( _
         SourceType:=xlSourceRange, _
         Filename:=TempFile, _
         Sheet:=TempWB.Sheets(1).Name, _
         Source:=TempWB.Sheets(1).UsedRange.Address, _
         HtmlType:=xlHtmlStatic)
        .Publish (True)
    End With

    'Read all data from the htm file into RangetoHTML
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML = ts.ReadAll
    ts.Close
    RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
                          "align=left x:publishsource=")

    'Close TempWB
    TempWB.Close savechanges:=False

    'Delete the htm file we used in this function
    Kill TempFile

    Set ts = Nothing
    Set fso = Nothing
    Set TempWB = Nothing
End Function

Notas: En el código,

1) En la línea .A = , por favor reemplace con la dirección de correo electrónico del destinatario real. Si necesita más de una dirección de correo electrónico, sepárelas con punto y coma.
2) En las dos líneas siguientes:
.CC = "Dirección de correo electrónico"
.BCC = "Dirección de correo electrónico"
Si desea agregar los destinatarios cc y bcc, reemplace el texto "Correo electrónico” en las líneas con las direcciones de correo electrónico que necesita.
Si no necesita los destinatarios cc y bcc, simplemente agregue un apóstrofe ' antes de cada línea.

4. presione el F5 clave para ejecutar el código. En el emergente Kutools for Excel cuadro de diálogo, seleccione el rango de celdas que necesita enviar como parte del contenido del cuerpo de un correo electrónico, luego haga clic en OK. Ver captura de pantalla:

Luego, se creará automáticamente un correo electrónico de Outlook. Puede ver que el rango que seleccionó en la hoja de trabajo se inserta en el cuerpo del correo electrónico. Ver captura de pantalla:


4.1.2 Enviar por correo electrónico un rango como archivo adjunto desde Excel

Si necesita enviar por correo electrónico un rango de celdas en una hoja de trabajo como un archivo adjunto desde Excel. Puede probar el siguiente código VBA.

1. presione el otro + F11 llaves.

2. En la apertura Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo. Luego pegue el siguiente código VBA en el Módulo (Código) ventana.

Código de VBA: envíe un rango por correo electrónico como un archivo adjunto desde Excel

Sub SendRange()
'Update 20220809
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = ""
    .CC = "Email address"
    .BCC = "Email address"
    .Subject = "Monthly sales for 2021"
    .Body = "Hello, please check and read this document. "
    .Attachments.Add Wb2.FullName
    .Display
    '.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Notas:

1) En la línea .A = , por favor reemplace con la dirección de correo electrónico del destinatario real. Si necesita más de una dirección de correo electrónico, sepárelas con punto y coma.
2) Cambie el asunto del correo electrónico y el cuerpo del correo electrónico por separado en la línea .Subject = "Ventas mensuales para 2021" y .Body = "Hola, por favor revise y lea este documento".;
3) En las dos líneas siguientes:
.CC = "dirección de correo electrónico"
.BCC = "dirección de correo electrónico"
Si desea agregar los destinatarios cc y bcc, reemplace el texto "dirección de correo electrónico” en las líneas con las direcciones de correo electrónico que necesita.
Si no necesita los destinatarios cc y bcc, simplemente agregue un apóstrofe ' antes de cada línea.

3. presione el F5 clave para ejecutar el código. En el emergente Kutools for Excel cuadro de diálogo, seleccione el rango de celdas que necesita enviar como archivo adjunto en un correo electrónico, luego haga clic en OK. Ver captura de pantalla:

Luego, se creará automáticamente un correo electrónico de Outlook. Y el rango de celdas que seleccionó en la hoja de trabajo se guarda como un libro de Excel y se adjunta en la ventana de Mensaje. Ver captura de pantalla:


4.2 Enviar correos electrónicos cuando se hace clic en un botón en Excel

Si necesita hacer clic en un botón de comando para activar una macro para enviar un correo electrónico desde Excel, por ejemplo, envíe el libro de trabajo actual como archivo adjunto a otros haciendo clic en un botón de comando en la hoja de trabajo. Puede seguir los pasos a continuación para hacerlo.

1. Hacer clic en Developer > recuadro > Botón de comando (control ActiveX). Luego dibuje un botón de comando en la hoja de trabajo.

Tips: Si ya tiene un botón de comando, omita este paso.

2. presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana. En la ventana, haga clic en recuadro > Modo, luego pegue el código VBA (el código utilizado para enviar por correo electrónico el libro de trabajo actual como un archivo adjunto de Excel) en la ventana Módulo (Código).

Haga clic aquí para obtener el código.

Note: Aquí el nombre de la macro que creó en el paso 2 es Enviar libro de trabajo.

3. presione el otro + Q llaves para cerrar el Microsoft Visual Basic para aplicaciones ventana.

4. Ahora necesita asignar la macro al botón de comando. Haga clic derecho en el botón de comando, seleccione Ver código desde el menú del botón derecho.

5. Entonces el Microsoft Visual Basic para aplicaciones aparece una ventana emergente, puede ver que las siguientes dos líneas se enumeran en el Hoja (Código) ventana.

Private Sub CommandButton1_Click()
End Sub

6. Ingrese el nombre de la macro existente dentro del subprocedimiento para el botón de comando.

7. presione el otro + Q llaves para cerrar el Editor de Visual BasicY haga clic en Developer > Modo de diseño para desactivar el modo de diseño.

Ahora puede hacer clic en el botón de comando para enviar un correo electrónico con el libro de trabajo actual como archivo adjunto en el correo electrónico.


4.3 Enviar correos electrónicos desde una cuenta de correo electrónico específica

Normalmente, cuando se inicia un correo electrónico desde Excel con código VBA, la cuenta de correo electrónico del remitente es la cuenta predeterminada en Outlook. Suponga que ha configurado varias cuentas de correo electrónico en su Outlook y desea usar una determinada cuenta para enviar los correos electrónicos desde Excel en lugar de usar la cuenta predeterminada. El siguiente código de VBA puede ayudar.

Los siguientes códigos son necesarios en este caso.

Código VBA 1:

Dim OutlookMail As Outlook.MailItem

Código VBA 2:

For Each xAccount In OutlookApp.Session.Accounts
  If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next

¿Cómo usar el código VBA anterior?

1) En su propio código, debe reemplazar la línea como "Dim OutlookMail como objeto” con código VBA 1;
2) Agregue el código VBA 2 debajo de la línea "On Error Resume Next” en su código. Luego, especifique la dirección de correo electrónico que usará para enviar el correo electrónico en el código VBA 2.

En este ejemplo, vamos a especificar una determinada cuenta de correo electrónico para enviar el libro de trabajo actual como un archivo adjunto desde Excel. Por favor, haga lo siguiente.

1. presione el otro + F11 llaves. En el Microsoft Visual Basic para aplicaciones ventana, haga clic Herramientas > Referencias. Y luego revisa el Biblioteca de objetos de Microsoft Outlook 16.0 cuadro y clic OK existentes Referencias - VBAProject caja de diálogo.

2. Hacer clic en recuadro > Módulo. Luego pegue el siguiente código VBA en el Módulo (Código) ventana.

Código de VBA: envíe el libro de trabajo actual como un archivo adjunto de correo electrónico desde Excel a través de una cuenta de Outlook específica

Sub SendWorkBook()
'Update by Extendoffice 20220809
Dim OutlookApp As Object
Dim OutlookMail As Outlook.MailItem 'important! Here can’t be declared as Object
Dim xAccount As Account
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(olMailItem)
On Error Resume Next
'The following lines helps to specify a certian email account
For Each xAccount In OutlookApp.Session.Accounts
  If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next
'End
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

3. presione el F5 clave para ejecutar el código. Luego aparece un mensaje de correo electrónico de Outlook, puede ver que el Desde El campo se completa con la cuenta de correo electrónico que especificó en el código.


4.4 Enviar un correo electrónico cuando se alcance una fecha

Si necesita enviar un correo electrónico en función de una fecha de vencimiento específica, por ejemplo, como se muestra en la siguiente captura de pantalla, hay una tabla de proyectos, cuando la fecha de vencimiento en el rango E2:E7 es igual o menor a 7 días a partir de hoy (suponiendo que la fecha actual es 2022/8/4), se enviará automáticamente un correo electrónico a los líderes de proyecto correspondientes y se les notificará que el proyecto está a punto de caducar.

1. En la hoja de trabajo que contiene la tabla del proyecto, haga clic derecho en la pestaña de la hoja y haga clic en Ver código desde el menú contextual.

2. En la apertura Microsoft Visual Basic para aplicaciones ventana, pegue el siguiente código VBA en el Hoja (Código) ventana.

Código de VBA: envíe automáticamente un correo electrónico cuando se cumpla una fecha de vencimiento

Public Sub SendMailDueDate()
'Updated by Extendoffice 20220804
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Range("E2:E7") 'Please reference the due date column range
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Range("C2:C7") 'Please reference the email addresses column range
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Range("D2:D7") 'Please reference the remark column range (the remark used to notify project leaders of the expiration of the project)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.Count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "

" xMailBody = "" xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf xMailBody = xMailBody & "Remark : " & xRgText.Offset(i - 1).Value & vbCrLf xMailBody = xMailBody & "" Set xMailItem = xOutApp.CreateItem(0) With xMailItem .Subject = xMailSubject .To = xRgSendVal .CC = "Email address" .BCC = "Email address" .HTMLBody = xMailBody .Display '.Send End With Set xMailItem = Nothing End If End If Next Set xOutApp = Nothing End Sub

Notas: En el código,

1) En las siguientes líneas, E2: E7 contiene las fechas de vencimiento en las que enviará correos electrónicos. C2: C7 contiene las direcciones de correo electrónico a las que enviará correos electrónicos. Y D2: D7 contiene los comentarios que agregará en el cuerpo del correo electrónico para notificar a los destinatarios que el proyecto está a punto de caducar. Puede cambiar los rangos según lo necesite.
Establecer xRgDate = Rango ("E2: E7")
Establecer xRgSend = Rango ("C2: C7")
Establecer xRgText = Rango ("D2: D7")
2) La siguiente línea significa que la fecha de vencimiento debe ser mayor a 1 día e igual o menor a 7 días a partir de hoy. Puedes cambiarlo según lo necesites.
Si CDate(xRgDateVal) - Fecha <= 7 Y CDate(xRgDateVal) - Fecha > 0 Entonces
3) En la línea .A = , por favor reemplace con la dirección de correo electrónico del destinatario real. Si necesita más de una dirección de correo electrónico, sepárelas con punto y coma.
4) Cambie el asunto del correo electrónico en la línea .Subject = "Hoja de trabajo modificada".
5) En las dos líneas siguientes:
.CC = "Dirección de correo electrónico"
.BCC = "Dirección de correo electrónico"
Si desea agregar los destinatarios cc y bcc, reemplace el texto "Correo electrónico” en las líneas con las direcciones de correo electrónico que necesita.
Si no necesita los destinatarios cc y bcc, simplemente agregue un apóstrofe ' antes de cada línea.

3. presione el F5 clave para ejecutar el código. Luego, si la fecha de vencimiento coincide con las condiciones, se creará el correo electrónico correspondiente. En este caso, se crearán dos correos electrónicos como se muestra en la siguiente captura de pantalla.


5. Una herramienta útil para ayudarlo a enviar fácilmente correos electrónicos desde Excel

Si es un novato de VBA, es posible que los métodos anteriores no le resulten fáciles de manejar. Aquí te recomendamos Kutools for Excel, Enviar correos electrónicos función, con esta función, puede enviar fácilmente correos electrónicos desde Excel con solo varios clics. Por favor, haga lo siguiente.

Antes de aplicar Kutools for Excel, Por favor descargarlo e instalarlo en primer lugar.

5.1 Cree fácilmente una lista de correo que incluya los campos de correo electrónico que necesita

Antes de aplicar la función Enviar correos electrónicos, debe crear una lista de correo que contenga los campos de correo electrónico que necesita. Aquí la función Crear lista de correo puede ayudar.

1. Hacer clic en Kutools Más > Crear lista de distribución.

2. En la apertura Crear lista de distribución ventana, necesita configurar de la siguiente manera.

2.1) en el Columnas para la lista de distribución sección, revisa los campos que necesitas en tu correo electrónico;
2.2) en el Adjuntar archivos sección, marque uno o más archivos adjuntos que pueda necesitar;
2.3) Especificar una ubicación para colocar la lista de correo;
2.4) Haga clic en Crear botón. Ver captura de pantalla:

Luego, se crea una tabla de lista de correo de muestra como se muestra en la captura de pantalla a continuación.

3. Ahora necesita reemplazar los datos originales en la muestra con sus propios datos de campo.

Ahora ha creado una tabla de lista de correo. Por favor, adelante para aplicar el Enviar correos electrónicos función para enviar correos electrónicos desde Excel en función de los campos que creó.

  Si desea tener una prueba gratuita (30 días) de esta utilidad, haga clic para descargarloy luego vaya a aplicar la operación según los pasos anteriores.


5.2 Envíe fácilmente correos electrónicos que incluyan los campos que creó en la lista de correo

Después de crear la lista de correo (haga clic para saber cómo) que contiene los campos que puede necesitar en sus correos electrónicos, ahora puede enviar correos electrónicos desde Excel con estos campos.

1. Seleccione toda la lista de correo, haga clic en Kutools Más > Enviar correos electrónicos.

2. En el Enviar correos electrónicos cuadro de diálogo, por favor haga la siguiente configuración.

2.1) Los campos se completan en el cuadro de diálogo de cada campo automáticamente con los campos que especificó en la lista de correo;
Tips: si no necesita un determinado campo en este momento, elija una opción en blanco en la lista desplegable.
2.2). Insertar marcador de posición (opcional): si necesita insertar información variable en el cuerpo de un correo electrónico.
Por ejemplo, es posible que deba enviar un correo electrónico a múltiples destinatarios con un nombre personalizado para cada uno, debe colocar el cursor en el cuerpo del correo electrónico donde debe insertar el marcador de posición, seleccione el campo "E: Nombre” (u otro campo de nombre en su lista de correo electrónico), y luego haga clic en Insertar marcador de posición botón;
Cuando los destinatarios reciben el correo electrónico, el cuerpo del correo electrónico permanece igual pero los nombres son únicos para cada uno.
2.3) Redacte el cuerpo del correo electrónico según sus necesidades;
2.4) Asegúrese de que el Envíe correos electrónicos a través de Outlook la casilla está marcada;
2.5) Haga clic en Enviar botón. Ver captura de pantalla:

3. Entonces un Kutools for Excel aparece un cuadro de diálogo para indicarle cuántos correos electrónicos se envían, haga clic en el OK para cerrar este cuadro de diálogo.

Tips: Puedes ir al Elementos enviados carpeta en su Outlook para revisar los correos electrónicos que envió.


5.3 Envíe fácilmente correos electrónicos con cuerpo HTML (incluidos hipervínculos, imágenes, etc.)

Esta función Enviar correos electrónicos le permite crear un correo electrónico html, que incluye un hipervínculo, una imagen, diferentes tamaños y colores de fuente, etc.

Después crear una lista de correo que incluya los campos de correo electrónico que necesita,

Cuando configurar el cuadro de diálogo Enviar correos electrónicos, puede enriquecer el contenido del cuerpo mediante las opciones de la barra de herramientas.

Vea la captura de pantalla a continuación:


5.4 Inserte fácilmente la firma predeterminada de Outlook al enviar correos electrónicos

En el método anterior, demostramos un código VBA para ayudarlo a enviar correos electrónicos con la firma predeterminada de Outlook. Aquí, con la función Enviar correos electrónicos, solo necesita marcar una opción, luego la firma predeterminada de Outlook se insertará en los correos electrónicos que envió desde Excel.

Después crear una lista de correo que incluya los campos de correo electrónico que necesita,

Cuándo configurar el cuadro de diálogo Enviar correos electrónicos, necesitas hacer clic Opciones > Usar la configuración de la firma de Outlook.

Note: asegúrese de que aparezca una marca de verificación antes de la opción Usar configuración de firma de Outlook.

Cuando los destinatarios reciben el correo electrónico, pueden ver la firma predeterminada de Outlook al final del cuerpo del correo electrónico.


5.5 Envíe fácilmente correos electrónicos desde una cuenta de correo electrónico específica

Para usar una determinada cuenta de correo electrónico para enviar correos electrónicos desde Excel en lugar de usar la cuenta predeterminada, la función Enviar correos electrónicos también puede ayudarlo a hacerlo fácilmente.

Después crear una lista de correo que incluya los campos de correo electrónico que necesita,

Cuándo configurar el cuadro de diálogo Enviar correos electrónicos, necesitas hacer clic Opciones > Enviado desde, luego haga clic en la cuenta de correo electrónico desde la que necesita enviar correos electrónicos.

Note: Después de seleccionar la cuenta de correo electrónico, aparecerá una marca de verificación delante de ella.

Haga Clic en esta página para obtener más información sobre esta función Enviar correos electrónicos.

  Si desea tener una prueba gratuita (30 días) de esta utilidad, haga clic para descargarloy luego vaya a aplicar la operación según los pasos anteriores.

En conclusión, enviar correos electrónicos desde Excel es bastante útil en nuestro trabajo diario. Este artículo cubre temas más completos sobre el envío de correos electrónicos desde Excel. Si hay otros temas o soluciones más fáciles, deje un comentario para hacérmelo saber.

Las mejores herramientas de productividad de oficina

🤖 Asistente de IA de Kutools: Revolucionar el análisis de datos basado en: Ejecución inteligente   |  Generar codigo  |  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos  |  Invocar funciones de Kutools...
Características populares: Buscar, resaltar o identificar duplicados   |  Eliminar filas en blanco   |  Combine columnas o celdas sin perder datos   |   Ronda sin fórmula ...
Super búsqueda: Búsqueda virtual de criterios múltiples    Búsqueda V de valores múltiples  |   VLookup en varias hojas   |   Búsqueda difusa ....
Lista desplegable avanzada: Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple ....
Administrador de columnas: Agregar un número específico de columnas  |  Mover columnas  |  Toggle Estado de visibilidad de columnas ocultas  |  Comparar rangos y columnas ...
Características destacadas: Enfoque de cuadrícula   |  Vista de diseño   |   Gran barra de fórmulas    Administrador de hojas y libros de trabajo   |  Biblioteca de Recursos (Texto automático)   |  Selector de fechas   |  Combinar hojas de trabajo   |  Cifrar/descifrar celdas    Enviar correos electrónicos por lista   |  Súper filtro   |   Filtro especial (filtro negrita/cursiva/tachado...) ...
Los 15 mejores conjuntos de herramientas12 Texto Herramientas (Añadir texto, Quitar caracteres, ...)   |   50+ Tabla Tipos (Diagrama de Gantt, ...)   |   40+ Práctico Fórmulas (Calcular la edad según el cumpleaños, ...)   |   19 Inserción Herramientas (Insertar código QR, Insertar imagen desde la ruta, ...)   |   12 Conversión Herramientas (Números a palabras, Conversión de Moneda, ...)   |   7 Fusionar y dividir Herramientas (Filas combinadas avanzadas, Células partidas, ...)   |   ... y más

Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo.  Haga clic aquí para obtener la función que más necesita...

Descripción


Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations