Crear PDF enviar correo y guardar PDF
Básicamente lo que hace es enviar un correo de una hoja excel por correo
Necesito que después de crear el PDF lo guarde con el nombre que ha creaado con fecha y hora actual
En la carpeta D: Jose/factura
Sub Enviar_Correo_PDF()
Sheets("PLANTILLA").Name = Sheets("PLANTILLA").Range("C7")
Dim olApp As Object
Dim olMail As Object
Dim RutaTemporal As String, NombreFicheroTemporal As String, RutaCompleta As String
'deshabilitamos el refresco de pantalla
'y muy importante los eventos!
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
'Definimos una variable que será la Ruta donde guardaremos,
'antes de enviar como adjunto, el pdf que generaremos...
RutaTemporal = Environ$("temp") & "\"
'Generamos el nombre del fichero temporal .Pdf
NombreFicheroTemporal = ActiveSheet.Name & ".pdf"
'Combinando las dos variables anteriores, tendremos la Ruta Completa de nuestro .pdf
RutaCompleta = RutaTemporal & NombreFicheroTemporal
'Depuramos posibles errores a la hora de Exportar
' a la ruta anterior, la hoja activa como PDF
On Error GoTo err
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=RutaCompleta, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
'LLega el momento de abrir la aplicación Outlook
Set olApp = CreateObject("Outlook.Application")
'y generar un nuevo email a enviar...
Set olMail = olApp.CreateItem(0)
Dim destinatario As String, Asunto As String, Cuerpo As String
'FALTA ASIGNAR VALORES A ESTAS VARIABLES!!!
On Error Resume Next
With olMail
.To = destinatario 'añadimos el destinatario, el Para...
'.CC = destinatario 'para adjuntar destinatario en Con Copia a...
'.BCC = destinatario 'para adjuntar destinatario en Con Copia Oculta a...
.Subject = Asunto 'indicaríamos el Asunto
.Body = Cuerpo 'indicaríamos el Cuerpo del email
'adjuntamos el fichero pdf desde la ruta donde la guardamos
.Attachments.Add RutaCompleta
.Display 'o bien usaremos .Send para enviar directamente...
'.Send
End With
On Error GoTo 0
'Ya que el email ha sido enviado (o mostrado) con el pdf adjuntado
'podemos borrar el pdf que habíamos guardado (en la carpeta temporal)...
Kill RutaCompleta
'limpiamos las variables creadas.
Set olMail = Nothing
Set olApp = Nothing
'Reestablecemos las condiciones prevías
'refresco de pantalla y activamos loe eventos
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
Exit Sub
'para el control de errores en caso de exportación como Pdf...
Err:
MsgBox err.Description
End Sub
1 respuesta
Respuesta de Dante Amor
1