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