¿Cómo guardar una hoja de cálculo como archivo PDF y enviarla como adjunto por Outlook?
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.

Notas y consejos prácticos:

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.

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)

Artículos relacionados:
- ¿Cómo guardar un archivo de Excel con un nombre que incluya marca de tiempo?
- ¿Cómo utilizar la función Guardar como para sobrescribir automáticamente un archivo existente en Excel?
- ¿Cómo guardar o exportar varias o todas las hojas a archivos CSV o de texto independientes en Excel?
- ¿Cómo desactivar u omitir las opciones Guardar y Guardar como en Excel?
- ¿Cómo desactivar el guardado del libro de trabajo en Excel y permitir únicamente la opción «Guardar como»?
Las mejores herramientas de productividad para Office
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.
- 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