Macros en Excel, para que me guarde el archivo en PDF en una carpeta predeterminada y que me lo adjunte a un e-mail.

Estoy necesitando de ustedes para hacer varias macros en Excel, la primera que necesito seria para que me guarde el archivo en PDF en una carpeta predeterminada con el nombre de una celda y que me lo adjunte a un e-mail con direcciones predeterminadas, ¿me pueden ayudar?

Respuesta
1

Podrías poner los datos que requieres:

1. Cuál es la celda que tiene el nombre del archivo.

2. Puedes poner un ejemplo de lo que tienes en esa celda.

3. ¿De dónde se va tomar el destinatario?

4. ¿Qué va en el asunto del correo?

5. ¿Qué va en el cuerpo del correo?

6. ¿Es por outlook?

Hola Dante, como estas?

Te paso lo que me solicitas:

  • Son dos celdas, (D5) que dice en la misma “KU-EXG 047-15” y (D27) que dice “Arcord” el nombre del archivo tendría que quedar algo así como “KU-EXG 047-15 Arcord”.
  • Te adjunto Excel de ejemplo
  • Respecto a los destinatarios, tenía pensado tomarlo desde una lista que está en otra hoja, es posible que me lo envíe a los destinatarios según el valor de una celda determinada?, vale aclarar que no es solo un destinatario sino que son varios.
  • En el asunto seria la misma variable que en el punto uno.
  • “Adjunto envío documentación correspondiente a referencia de Asunto”
  • Es para Outlook.

Mil gracias por tu pronta respuesta.

Saludos,

No está el enlace para descargar el archivo, si quieres envíame por correo.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Cristian Sanchez” y el título de esta pregunta.

¡Gracias! Dante, ahí te pase el archivo.

Saludos,

Te anexo la macro, falta que me digas en dónde está la lista de destinatarios.

Sub EnviarPdf()
'Por.Dante Amor
    ruta = ThisWorkbook.Path & "\"
    nombre = [D5] & [D27]
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=ruta & nombre & ".pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, OpenAfterPublish:=False
    '
    Set dam = CreateObject("outlook.application").createitem(0)
    dam.To = [D9] 'destinatarios
    dam.Subject = nombre
    dam.body = "Adjunto envío documentación correspondiente a referencia de Asunto"
    dam.Attachments.Add ruta & nombre & ".pdf"
    Dam. Send 'El correo se envía en automático
    'dam. Display 'El correo se muestra
End Sub

Hola DANTE! Genial, la macro que me has indicado guarda perfecto el archivo.

Te paso en donde están los correos a los cuales se tendría que enviar el mail automáticamente y te comento otra cosa a ver si me podes ayudar:

Mi libro de Excel “Documentos de Expo” consta de 6 hojas que están nombradas de la siguiente manera:

Instructivo (En esta hoja estarán todos los botones que estoy tratando de hacer)

Packing List

Consolidado

Decla Embarque

Factura Proforma

Pautas (En esta hoja están las direcciones de mail)

Una vez aclarado esto paso a comentarte lo que preciso:

  1. Hacer una macro para aplicar a un primer botón que me permita que se guarden en PDF las hojas Instructivo (B2:E56), Packing List (B2:K45), Consolidado (B2:R30), Decla Embarque (B2:J125), Factura Proforma (B2:I54) (solo el área que se aclara entre paréntesis) por separado en la carpeta C:\Exportacion con el Nombre que surge de combinar la celda D5+D27 (de la Hoja Instructivo) +Nombre de la Hoja, para el caso quedaría de la siguiente manera:
  2.  
  • KU-EXG 047-15 Agribusiness LLC Instructivo
  • KU-EXG 047-15 Agribusiness LLC Packing List
  • KU-EXG 047-15 Agribusiness LLC Consolidado
  • KU-EXG 047-15 Agribusiness LLC Decla Embarque
  • KU-EXG 047-15 Agribusiness LLC Factura Proforma

           Y en caso de tener que generar dos veces el archivo me remplace el existente con mismo nombre.

  1. Hacer una macro para aplicar a un segundo botón que me permita que 4 de los archivos (PDF) generados con anterioridad (Instructivo, Packing List, Consolidado y Factura Proforma) con los mismos nombres enunciados en el punto uno se me envíen por E-MAIL a distintas direcciones enunciadas en la HOJA Pautas entre las celdas B3:B14 y que en él diga:

ASUNTO: El que surja de combinar la celda D5+D27 (de la Hoja Instructivo)  quedando por ejemplo “KU-EXG 047-15 Agribusiness LLC”

Cuerpo del Mensaje: “Estimados XXXXXXXXXXXXXXXXXXXX”

  1. Y por último una tercer Macro para aplicar a un botón que me envíe por e-mail la HOJA Decla Embarque dependiendo de los destinatarios según el valor que figure en la celda D18 de la hoja Instructivo, por ejemplo si la celda D18 dice WXY me envíe los email a las direcciones que figuran en la hoja PAUTAS entre las celdas C3:C14, si dice IOP me lo envíe a las direcciones que figuran en la hoja PAUTAS entre las celdas D3:D14 y que en el asunto diga:

ASUNTO: El que surja de combinar la celda D5+D27 (de la Hoja Instructivo)  quedando por ejemplo “KU-EXG 047-15 Agribusiness LLC”

              Cuerpo del Mensaje: “Estimados XXXXXXXXXXXXXXXXXXXX

Espero haber sido claro para poder lograr esto que sería de gran ayuda.

MILLONES DE GRACIAS A TODOS!!!

Sigo sin ver en dónde están los destinatarios.

Para lo demás que solicitas, deberás crear una pregunta nueva por cada petición.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas