Estoy desarrollando un reporte en pdf y deseo utilizar el encabezado del documento más la fecha para guardar en una carpeta envi

Desarrollo un reporte en pdf y seo utilizar el encabezado del documento más las fecha para guardar en una carpeta y posteriormente adjuntarlo para enviarlo por correo. Pero al ejecutar no se guarda el pdf en la carpeta y solo aparece el encabezado del documento en el correo

Public Sub enviareportediario_Click()
'Selecciona PED.ENV Y POR ENVIAR'
Sheets("PED.ENV Y POR ENVIAR").Select
'controla cualquier posible error, ejecutando en ese caso la línea siguiente
On Error Resume Next
Dim NombreArchivo As String
Teststr = Format(Now(), "General Date")
NombreArchivo = (Range("H2") & " " & Range("J1") & " " & (Teststr))
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="\\Almacen-plas\abastecimientos 2015\A.P.T\INVENTARIO PROD TERMINADO\REPORTE DIARIO  2015\" & NombreArchivo & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
ActiveSheet.PrintOut Copies:=0, Collate:=True
'incrementa en 1 la celda J1
ActiveSheet.Range("J1").Value = ActiveSheet.Range("J1").Value + 1
strReportName = "\\Almacen-plas\abastecimientos 2015\A.P.T\INVENTARIO PROD TERMINADO\REPORTE DIARIO LIC. ANGELES 2015\" & NombreArchivo & ".pdf"
Dim objOutlook As Object
Dim objMail As Object
Dim objOutlookAttach As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(olMailItem)
Set objOutlookAttach = objOutlook.CreateItem(olAttachMents)
With objMail
'A quien va dirigido el correo
.To = "correo a quien va dirijido"
'Se especifica el asunto
.Subject = NombreArchivo & ".pdf"
'Se especifica lo que se quiere que diga el mensaje
.body = "adjunto reporte diario de pedidos enviados y pendientes por enviar"
'Se escriben el o los archivos a adjuntar en el mail
.Attachments.Add (strReportName)
'Se manda el mensaje
.Send
End With
'Se cierran todos los objetos utilizados
Set objMail = Nothing
Set objOutlook = Nothing
Sheets("INICIO").Select
ActiveWorkbook.Save
End Sub

1 Respuesta

Respuesta
1

1. ¿Todavía necesitas ayuda con la macro?

2. ¿Qué versión de office y de excel tienes?

3. Qué formato de fecha quieres, ¿puedes poner un ejemplo de cómo quieres la fecha en el nombre del archivo? (Por ejemplo: 15-jul-2015)

¡Gracias! Dante ya lo pude resolver  no estaba considerando que no se puede guardar nombres de archivos con símbolos incluidos.

quedo de esta manera

Public Sub PENDENVIAR()
'Selecciona PENDENVIAR'
Sheets("PENDENVIAR").Select
'controla cualquier posible error, ejecutando en ese caso la línea siguiente
On Error Resume Next
Dim NombreArchivo As String
Hora = Format(Time, "HH.mm.ss")
Teststr = Format(Now(), "Long Date")
NombreArchivo = (Range("D3") & " " & Range("J2") & " " & (Teststr) & " " & (Hora))
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"\\Almacen-plas\h\PENDIENTESDEENVIAR\" & NombreArchivo & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
ActiveSheet.PrintOut Copies:=0, Collate:=True
'incrementa en 1 la celda J2
ActiveSheet.Range("J2").Value = ActiveSheet.Range("J2").Value + 1
strReportName = "\\Almacen-plas\h\PENDIENTESDEENVIAR\" & NombreArchivo & ".pdf"
Dim objOutlook As Object
Dim objMail As Object
Dim objOutlookAttach As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(olMailItem)
Set objOutlookAttach = objOutlook.CreateItem(olAttachMents)
With objMail
'A quien va dirigido el correo
.To = "mail a donde se enviara el archivo"
.Cc = "copias a quienes enviar el archivo"
'Se especifica el asunto
.Subject = NombreArchivo & ".pdf"
'Se especifica lo que se quiere que diga el mensaje
.Body = "Listado de pedidos pendientes de enviar"
'Se escriben el o los archivos a adjuntar en el mail
.Attachments.Add (strReportName)
'Se manda el mensaje
.Send
End With
'Se cierran todos los objetos utilizados
Set objMail = Nothing
Set objOutlook = Nothing
Sheets("PEDIDO").Select
ActiveWorkbook.Save
End Sub

esperando que alguien mas le pueda servir y lo adapte a sus necesidades

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas