KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo guardar una hoja de cálculo como archivo PDF y enviarla como adjunto por Outlook?

AutoraSiluvia Fecha de modificación

En el trabajo diario, es habitual encontrarse con situaciones en las que necesita compartir una hoja específica con colegas o clientes, asegurándose de que su formato —como archivo PDF— permanezca fijo y protegido. Enviar una hoja directamente como archivo PDF mediante Outlook es una necesidad común, especialmente al documentar informes, enviar facturas o compartir datos finalizados que no deben modificarse fácilmente. Tradicionalmente, esto implica guardar manualmente la hoja como PDF, abrir Outlook, redactar un correo electrónico, adjuntar el archivo y enviarlo: un proceso tedioso y lento, sobre todo si se repite con frecuencia o cuando se gestionan múltiples hojas.

Este artículo le guía paso a paso para automatizar la conversión de una hoja de cálculo a PDF y adjuntarla inmediatamente a un correo electrónico de Outlook directamente desde Excel, ahorrándole tiempo significativo y eliminando tareas manuales repetitivas. Descubrirá una solución basada en código VBA, junto con detalles sobre su funcionamiento, ventajas, escenarios de aplicación y consejos prácticos.

Guarde una hoja de cálculo como Archivos PDF y envíela como archivo adjunto con código VBA


Guarde una hoja de cálculo como Archivos PDF y envíela como archivo adjunto con código VBA

Para agilizar la exportación de una hoja de Excel como archivo PDF y su posterior envío por Outlook, puede utilizar el siguiente código VBA. Este enfoque resulta especialmente útil si necesita enviar con regularidad informes personalizados, facturas u otras instantáneas de datos directamente desde Excel, ya que automatiza por completo los pasos de guardado y envío.

Antes de aplicar este método, asegúrese de que Microsoft Outlook esté instalado y configurado como su cliente de correo predeterminado. El código ofrece los mejores resultados cuando las macros están habilitadas en su entorno de Excel.

1. Abra la hoja de cálculo que desea guardar y enviar como PDF. Pulse Alt + F11 simultáneamente para abrir el editor de Microsoft Visual Basic para Aplicaciones (VBA).

2. En la ventana de VBA, vaya al menú y haga clic en Insertar > Módulo. Esto creará un nuevo módulo de código. A continuación, copie y pegue el siguiente código VBA en la ventana Código del módulo.

Código VBA: Guarde una hoja de cálculo como Archivos PDF y envíela como archivo 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. Tras pegar el código, pulse F5 o haga clic en Ejecutar en el editor de VBA para ejecutar la macro. Aparecerá un cuadro de diálogo para seleccionar una carpeta. Elija la carpeta de destino donde se guardarán los archivos PDF y, a continuación, haga clic en Aceptar para continuar.

ejecutar código VBA para seleccionar una carpeta donde guardar este archivo PDF

Notas y consejos prácticos:

1. La macro crea un archivo Archivos PDF con el mismo nombre que la hoja de cálculo, almacenado en la carpeta que haya seleccionado.
2. Si intenta ejecutar el código cuando la hoja activa está vacía, verá un cuadro de diálogo de advertencia como el que aparece en la captura siguiente. Esto evita guardar y enviar accidentalmente un PDF en blanco. Para evitarlo, asegúrese de que la hoja contenga contenido antes de ejecutar la macro.

Si la hoja de cálculo activa está en blanco, aparece un cuadro de advertencia

4. Una vez completado el proceso, se abrirá una nueva ventana de correo de Outlook con los archivos PDF ya adjuntos. La línea de asunto se rellenará automáticamente con el nombre de la hoja seguido de «.pdf»; podrá editar el cuerpo del mensaje, añadir destinatarios y enviarlo según sus necesidades. Así se reducen errores y se mejora la eficiencia frente al adjunte manual.

se crea un nuevo correo electrónico de Outlook con el archivo PDF adjunto

Nota: La macro solo funciona si Microsoft Outlook está instalado y configurado como su cliente de correo predeterminado. Si utiliza cualquier otro programa de correo electrónico, esta solución podría no ser aplicable.

Este enfoque basado en VBA resulta especialmente eficaz cuando necesita distribuir de forma regular hojas finalizadas como archivos PDF adjuntos, ya que minimiza los pasos manuales repetitivos. Sus limitaciones incluyen la dependencia de Outlook, la imposibilidad de procesar varias hojas simultáneamente y la necesidad de tener las macros habilitadas. Para flujos de trabajo más complejos —como enviar múltiples hojas de una sola vez u otras automatizaciones adicionales—, considere utilizar complementos de Excel o funciones integradas.

Solución alternativa: Si las macros de VBA no son adecuadas para su entorno —por ejemplo, porque están restringidas—, puede usar manualmente la función integrada de Excel Exportar o Guardar como para guardar su hoja como PDF y luego adjuntarla y enviarla desde Outlook. Este método, aunque requiere más pasos, está disponible universalmente sin necesidad de permisos especiales ni conocimientos de programación.


Guarde fácilmente una hoja de cálculo o varias hojas de cálculo como archivos Archivos PDF independientes de forma simultánea:

La utilidad Separar libro de Kutools para Excel le permite guardar fácilmente una hoja de cálculo o varias hojas de cálculo como archivos PDF independientes de forma simultánea, tal como se muestra en la siguiente demostración. ¡Descárguela y pruébela ahora! (prueba gratuita de 30 días)

guardar varias hojas de cálculo como archivos PDF independientes con Kutools


Artículos relacionados:

Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose 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   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir 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   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

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


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

  • Active 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 dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos