Skip to main content

¿Cómo guardar una hoja de cálculo como archivo PDF y enviarla como adjunto a través de Outlook?

Author: Siluvia Last Modified: 2025-06-04

En algunos casos, puede ser necesario enviar una hoja de cálculo como un archivo PDF a través de Outlook. Normalmente, tendrías que guardar manualmente la hoja de cálculo como un archivo PDF, luego crear un nuevo correo electrónico en Outlook con este archivo PDF como adjunto y finalmente enviarlo. Es muy laborioso hacer todo esto paso a paso de forma manual. En este artículo, te mostraremos cómo guardar rápidamente una hoja de cálculo como un archivo PDF y enviarlo automáticamente como adjunto a través de Outlook en Excel.

Guardar una hoja de cálculo como archivo PDF y enviarla como adjunto con código VBA


Guardar una hoja de cálculo como archivo PDF y enviarla como adjunto con código VBA

Puedes ejecutar el siguiente código VBA para guardar automáticamente la hoja de cálculo activa como un archivo PDF y luego enviarlo como adjunto a través de Outlook. Por favor, sigue los siguientes pasos.

1. Abre la hoja de cálculo que deseas guardar como PDF y enviar, luego presiona simultáneamente las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. En la ventana de Microsoft Visual Basic para Aplicaciones, haz clic en Insertar > Módulo. Luego copia y pega el siguiente código VBA en la ventana de Código. Ver captura de pantalla:

Código VBA: Guardar una hoja de cálculo como archivo PDF y enviarla como adjunto

Sub Saveaspdfandsend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder As String
Dim xYesorNo As Integer
Dim xOutlookObj As Object
Dim xEmailObj As Object
Dim xUsedRng As Range

Set xSht = ActiveSheet
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)

If xFileDlg.Show = True Then
   xFolder = xFileDlg.SelectedItems(1)
Else
   MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder"
   Exit Sub
End If
xFolder = xFolder + "\" + xSht.Name + ".pdf"

'Check if file already exist
If Len(Dir(xFolder)) > 0 Then
    xYesorNo = MsgBox(xFolder & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _
                      vbYesNo + vbQuestion, "File Exists")
    On Error Resume Next
    If xYesorNo = vbYes Then
        Kill xFolder
    Else
        MsgBox "if you don't overwrite the existing PDF, I can't continue." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro"
        Exit Sub
    End If
    If Err.Number <> 0 Then
        MsgBox "Unable to delete existing file.  Please make sure the file is not open or write protected." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File"
        Exit Sub
    End If
End If

Set xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then
    'Save as PDF file 
    xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard
    
    'Create Outlook email 
    Set xOutlookObj = CreateObject("Outlook.Application")
    Set xEmailObj = xOutlookObj.CreateItem(0)
    With xEmailObj
        .Display
        .To = ""
        .CC = ""
        .Subject = xSht.Name + ".pdf"
        .Attachments.Add xFolder
        If DisplayEmail = False Then
            '.Send
        End If
    End With
Else
  MsgBox "The active worksheet cannot be blank"
  Exit Sub
End If
End Sub

3. Presiona la tecla F5 para ejecutar el código. En el cuadro de diálogo Examinar, selecciona una carpeta para guardar este archivo PDF y luego haz clic en el botón Aceptar.

run vba code to select a folder to save this PDF file

Notas:

1. Ahora la hoja de cálculo activa se ha guardado como archivo PDF. Y el archivo PDF está nombrado con el nombre de la hoja de trabajo.
2. Si la hoja de cálculo activa está en blanco, obtendrás un cuadro de diálogo como se muestra en la siguiente captura de pantalla después de hacer clic en el botón Aceptar.

If the active worksheet is blank,a warning prompt box is popped out

4. Ahora se crea un nuevo correo electrónico de Outlook y puedes ver que el archivo PDF aparece listado como adjunto en el campo Adjuntos. Ver captura de pantalla:

a new Outlook email is created with the PDF file as an attachment

5. Por favor, redacta este correo electrónico y luego envíalo.
6. Este código solo está disponible cuando usas Outlook como tu programa de correo.

Guardar fácilmente una hoja de cálculo o varias hojas de cálculo como archivos PDF separados de una vez:

La utilidad Separar Libro de Kutools para Excel puede ayudarte a guardar fácilmente una hoja de cálculo o varias hojas de cálculo como archivos PDF separados de una vez, como se muestra en la siguiente demostración. ¡Descarga y pruébalo ahora! (30-día de prueba gratuita)

save multiple worksheets as separate PDF files by kutools


Artículos relacionados:

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda de varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea 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 | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas para combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y más

Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...


Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!