Saltar al contenido

Crear PDF y enviar por outlook

publicado

Hola de nuevo.

Llevo varios dias trabajando con una macro de lo que veo por ahi y he conseguido que me cree el archivo tal como quiero, pero me da un error: No se puede encontrar el archivo. Compruebe que su ruta de acceso y nombre sean correctos.

Sub GeneraInformePDF()'Da nombre al archivoWorksheets("Hoja Nueva").SelectDim Nombrearchivo As StringNombrearchivo = Range("bm2")' Macro que guarda las hojas en PDFSheets("Hoja Nueva").ActivateActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _"C:\Documents and Settings\LAMOGA\Escritorio\" & Nombrearchivo & ".pdf" _, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _:=False, OpenAfterPublish:=FalseRuta = "C:\Documents and Settings\LAMOGA\Escritorio\"Archivo = Nombrearchivo     Set parte1 = CreateObject("outlook.application")    Set parte2 = parte1.CreateItem(olMailItem)    parte2.To = Range("Bm1") 'Destinatarios    parte2.Subject = Range("bm2") '"Asunto"    parte2.Body = "" '"Cuerpo del mensaje"    parte2.Attachments.Add Ruta & Archivo    parte2.Send 'El correo se envía en automático    'parte2.display 'El correo se muestraEnd Sub[/PHP]

Que estoy haciendo mal? lo subrayado es lo que me da error (se pone en amarillo)

Gracias por adelantado.

Featured Replies

publicado
  • Autor
Hola de nuevo.

Llevo varios dias trabajando con una macro de lo que veo por ahi y he conseguido que me cree el archivo tal como quiero, pero me da un error: No se puede encontrar el archivo. Compruebe que su ruta de acceso y nombre sean correctos.

Sub GeneraInformePDF()'Da nombre al archivoWorksheets("Hoja Nueva").SelectDim Nombrearchivo As StringNombrearchivo = Range("bm2")' Macro que guarda las hojas en PDFSheets("Hoja Nueva").ActivateActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _"C:\Documents and Settings\LAMOGA\Escritorio\" & Nombrearchivo & ".pdf" _, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _:=False, OpenAfterPublish:=FalseRuta = "C:\Documents and Settings\LAMOGA\Escritorio\"Archivo = Nombrearchivo     Set parte1 = CreateObject("outlook.application")    Set parte2 = parte1.CreateItem(olMailItem)    parte2.To = Range("Bm1") 'Destinatarios    parte2.Subject = Range("bm2") '"Asunto"    parte2.Body = "" '"Cuerpo del mensaje"    parte2.Attachments.Add Ruta & Archivo    parte2.Send 'El correo se envía en automático    'parte2.display 'El correo se muestraEnd Sub[/PHP]

Que estoy haciendo mal? lo subrayado es lo que me da error (se pone en amarillo)

Gracias por adelantado.

Solucionado

Cambiar

[PHP]parte2.Attachments.Add Ruta & Archivo[/PHP]

Por esto

[PHP]parte2.Attachments.Add Ruta & Archivo & ".pdf"[/PHP]

Gracias y Feliz año.

publicado
  • Autor

Retomo el tema por si alguien me puede ayudar.

Al ejecutar la macro, todo correcto, pero el correo se queda en la bandeja de salida, y hay que ejecutar el outlook para que el correo se envie.

Alguna solucion para que se envie del tiron?

Gracias y saludos.

publicado

yo he visto que se arrgela con una reloj waitforaplication y el timepo ; si el pdf es pesado entonces ponle 60 segundos despues de ese tiempo se cierra el outlook y la vida continua

publicado
  • Autor

Gracias por responder davidalejoms.

Desisto del outlook ya que no hay forma de ejecutarlo en el ordenador del trabajo por los cortafuegos del intranet...

Estoy mirando via web, con el tema del CDO.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.