Excel - Macro para adjuntar varios archivos adjuntos similares en nombre

 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 10 puestos en Excel (en relación al último mes)
Gráfica de Excel

Macro para adjuntar varios archivos adjuntos similares en nombre

Publicado por Carlos (2 intervenciones) el 15/11/2019 21:17:01
Hola a todos.
Muchas gracias de antemano a toda la comunidad.
Estoy desarrollando una macro para que me envíe varios correos con archivos PDF adjuntos según una lista en Excel, es decir en la tabla tenemos como datos principales el "e-mail de destino" y un "ID" que es el mismo que tiene como nombre cada archivo que se debe adjuntar a cada mail de la lista, hasta aquí todo es manejable.

Pero hay casos en que para un mismo registro en Excel tenemos mas de un mismo archivo que adjuntar por ejemplo tenemos un registro en excel que tenga un ID= abcd y mas de un archivo que tenga como nombre "abcd.pdf", "abcd_1.pdf", "abcd_2.pdf" en estos casos solo me adjunta el primero: "abcd.pdf".

el codigo que tengo es el siguiente:

Un modulo donde tengo las variables:
--------------------------------------------------------------------------------------------------------
1
2
3
4
5
Public qMails As Integer 'Cantidad de filas en el excel que son los correos a enviar
Public ID As String 'codigo llave del excel que sera igual al archivo pdf a adjuntar
Public AfilMail As String 'Destinatarios del excel
Public AfilNombre As String 'Nombres del excel
Public CuerpoMail As String 'Cuerpo del mail en HTML
================================================================

02 procedimientos uno para recorrer la tabla excel y el otro para adjuntar los pdf a los mails:
---------------------------------------------------------------------------------------------------------------------------------
---> 01 Adjunta mails y envia
---------------------------------------------------------------------------------------------------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub EnviarMail()
   Dim OLApp As Outlook.Application
   Dim OLMail As Object
 
   Set OLApp = New Outlook.Application
   Set OLMail = OLApp.CreateItem(0)
   OLApp.Session.Logon
 
   With OLMail
      .To = AfilMail
      .CC = ""
      .BCC = ""
      .Subject = "Correo Prueba"
      .HTMLBody = CuerpoMail 'Cuerpo del correo
      .Attachments.Add (ThisWorkbook.Path & "\RUTA_CARPETA_CON_ARCHIVOS_A_ADJUNTAR\" & ID & ".PDF")
      .Send
   End With
 
   Set OLMail = Nothing
   Set OLApp = Nothing
End Sub

---------------------------------------------------------------------------------------------------------------------------------
02 Recorre la tabla excel
---------------------------------------------------------------------------------------------------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub PreparaDestinos()
   Sheets("Plantilla").Activate
   Cells(1, 1).Select
 
   qMails = ActiveCell.CurrentRegion.Rows.Count
 
   For i = 2 To qMails
      ID = Cells(i, 2)
      AfilMail = Cells(i, 3)
      AfilNombre = Cells(i, 4)
 
      Call TextoCuerpoMail 'Aca llamo a un cuerpo hecho con HTML pero no es importante por ahora
      Call EnviarMail
 
   Next
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder