Macro generar pdf y mandar por mail

Estoy iniciando en esto de las macros y disculpa que te pregunte cosas que pueden ser básicas. He mandado por error mensaje al hilo donde publicaste el código anteriormente. Abro este nuevo mejor.

Intentando utilizar una macro que publicaste el año pasado me sale un error a la hora de crear el objeto en Outlook.

Tú codigo es el siguiente:

Sub EnviarHojaEnPdf()
'Enviar una hoja en PDF por correo
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    '
    'Se estable cuál hoja se va a guardar en PDF
    Set h2 = Sheets("Hoja1")
    '
    'Ruta donde se va a guardar el archivo PDF,
    'en la misma carpeta donde tienes el archivo con la macro
    wpath = ThisWorkbook.Path & "\"
    '
    'el nombre del archivo será el mismo que tiene hoja
    nombre = h2.Name
    '
    'Se genera el archivo PDF
    h2.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=wpath & nombre & ".pdf", _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
    '
    'Se envía el archivo por outlook
    Set dam = CreateObject("outlook.application").createitem(0)
    dam.to = "damor"                    'Destinatario
    dam.Subject = "informe predefinido" '"Asunto"
    dam.Attachments.Add wpath & nombre & ".pdf"
    dam.Send
End Sub

El error es en esta línea: Set dam = CreateObject("outlook.application").createitem(0)

Aparece error 429 en tiempo de ejecución. El componente ActiveX no puede crear el objeto

Genera el pdf en el escritorio perfectamente, pero no es capaz de abrir Outlook para enviarlo.

Estoy utilizando Outlook 2013. He habilitado todas las macros tanto en Excel como en Outlook y cambiado los archivos con extensión *exd, pero no encuentro solución. Siempre sale el mismo error.

2 respuestas

Respuesta
1

Revisa lo siguiente:

Entra al menú de VBA, Herramientas, Referencias y busca si tienes una Referencia con la palabra "Falta", si es así, desmarca la casilla y presiona Aceptar.


También en el mismo menú de VBA, Herramientas, Referencias, busca la que dice: "Microsoft Outlook 12.0 Object Library" o "Microsoft Outlook 15.0 Object Library"


'S aludos. Dante Amor. Si se resolvió, Recuerda valorar la respuesta. G racias

Buenos Días,

muchas gracias por la rápida respuesta.

He revisado y está todo como lo ponen. tengo habilitada las siguientes opciones:

No hay ningún FALTA habilitado.

Sigue dando el mismo error.

Muchas gracias de nuevo por tu atención.

Saludos.

Buenos Días de nuevo,

ya lo he solucionado, con el siguiente código:

Sub ENVIAR_PDF()
Dim OutApp As Outlook.Application
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'
'Se estable cuál hoja se va a guardar en PDF
Set h2 = Sheets("Mecanizado")
'
'Ruta donde se va a guardar el archivo PDF,
'en la misma carpeta donde tienes el archivo con la macro
wpath = ThisWorkbook.Path & "\"
'
'el nombre del archivo será el mismo que tiene hoja
nombre = h2.Name
'
'Se genera el archivo PDF
h2.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=wpath & nombre & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
'
'Se envía el archivo por outlook
Set OutApp = New Outlook.Application
OutApp.Session.Logon
Set dam = OutApp.createitem(0)
dam.to = "[email protected]" 'Destinatario
dam.Subject = "informe predefinido" '"Asunto"
dam.Attachments.Add wpath & nombre & ".pdf"
dam.Send
End Sub

Muchas gracias por tu ayuda!

Saludos.

En la imagen no está activa la referencia Microsoft Outlook

Lo bueno es que ya lo solucionaste.

R ecuerda valorar la respuesta.

Respuesta
1

Feliz navidad

solo usa esta parte Set dam = CreateObject("outlook.application")

Elimina esta parte . Createitem(0)

Prueva con esto a ver 

no olvides valorar si te silve para cerrar la pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas