Cargando

Enviar correo electronico con cuerpo identico a varias direcciones y adjunto distinto Excel o Access




Solución elegida por el autor
Iniciado por Jenifer Sanz , 15 julio 2019 - 21:20

Buen día, ciertamente puedes mandar un correo con un mismo cuerpo, a distintos destinatarios y con diferentes ficheros adjuntos, pero esto solo lo puedes hacer directamente desde Outlook en tu PC. Lo último, puedes lograrlo activando la librería de esta herramienta, así:

  • Primeramente entra a “Outlook”.
  • Una vez que te encuentres dentro de dicha aplicación, procede a hacer click en “Herramientas”.
  • Luego presiona sobre la alternativa de “Referencias”.
  • Como veras se te abrirá una nueva ventana, en ella tienes que buscar la descripción “Microsoft Outlook (versión) Object Librery” y hacer click sobre ella, para que luego presiones en “Aceptar”.

Al hacer esto último, ya podras enviar los emails a varios destinatarios, aunque para ello tienes que crear un botón utilizando “Control ActiveX”, esto último lo haces siguiendo este tutorial:

  • Entra en la alternativa de “Desarrollador” que se encuentra en la parte de arriba del menú de opciones.
  • Acto seguido dirígete a la opción de “Insertar”.
  • Una vez hecho esto, tienes que seleccionar el tipo de control que deseas asignar (Debes colocar el cursor sobre cada una de estas pestañas para que se te especifique la acción).
  • Finalmente cuando se cree el comando, debes proceder a entrar donde está el comando VBA y elegir el tipo de código que deseas proporcionarle al botón.

Por último, tienes que crear un código VBA con el que se establezcan diferentes enlaces para enviar 5 mensajes distintos a la misma vez, y con capacidad de adjuntar en cada uno de ellos los ficheros que se deseen.

 

Esto último puedes lograrlo con el siguiente comando:

 

Sub seleccionararchivosadjuntos3(nocolumna As Integer)
Application.ScreenUpdating = False
Dim i, j As Integer
Dim numeroArchivos As Integer
Dim hoja As Worksheet
Set hoja = ActiveWorkbook.Worksheets("Ejemplo3")
Dim fldr As FileDialog
Set fldr = Application.FileDialog(msoFileDialogFilePicker)
'determinar cuantos archivos adjuntos hay
numeroArchivos = 0
Do While hoja.Cells(12 + numeroArchivos, nocolumna) <> ""
  numeroArchivos = numeroArchivos + 1
Loop
'preguntar si desea borrar los archivos ya adjuntados (en caso de que los haya)
If numeroArchivos <> 0 Then
  If MsgBox("¿Desea borrar los archivos adjuntados existentes?", vbYesNo) = vbYes Then
      hoja.Cells(12, nocolumna).Resize(10, 1).ClearContents
  End If
End If
'mostrar ventana con archivos a elegir
With fldr
  .Title = "Select a Folder"
  .AllowMultiSelect = True
  If .Show <> -1 Then Exit Sub
   
  If .SelectedItems.Count > 10 - numeroArchivos Then
      MsgBox "Sólo puede adjuntar 10 archivos cómo máximo"
      Exit Sub
  End If
'escribir los archivos en el excel y asignarles un hyperlink
  If .SelectedItems.Count <= 10 - numeroArchivos Then
      For i = 1 To .SelectedItems.Count
          hoja.Cells(11 + numeroArchivos + i, nocolumna).Worksheet.Hyperlinks.Add _
          anchor:=hoja.Cells(11 + numeroArchivos + i, nocolumna), _
          Address:=.SelectedItems(i), _
          TextToDisplay:=.SelectedItems(i)
      Next i
  End If
End With
Application.ScreenUpdating = True
End Sub

 

Y listo, ya solo deberás colocar en cada uno los documentos que desees y enviarlos a la misma vez con el botón que creaste.

Pulsa corazón para recibir avisos de nuevas Respuestas

  AUTOR PREGUNTA

Publicado 14 julio 2019 - 18:26

Hola:

 

queremos enviar desde excel o access (o un programa específico)una serie de correos con un cuerpo idéntico, con varias direcciones de correo y un fichero adjunto distinto para cada dirección de correo, no es spam, es una distribución de ficheros solicitados por las personas a las que se las mandamos.

 

la idea es poner el cuerpo, idéntico y asignar a cada dirección un fichero especifico para ese correo.

no se cómo hacerlo. solicito su ayuda o un ejemplo en imágenes o similar.


  • 1 personas más tuvieron esta duda Yo también
  • Volver arriba

 

Publicado 15 julio 2019 - 21:20

Buen día, ciertamente puedes mandar un correo con un mismo cuerpo, a distintos destinatarios y con diferentes ficheros adjuntos, pero esto solo lo puedes hacer directamente desde Outlook en tu PC. Lo último, puedes lograrlo activando la librería de esta herramienta, así:

  • Primeramente entra a “Outlook”.
  • Una vez que te encuentres dentro de dicha aplicación, procede a hacer click en “Herramientas”.
  • Luego presiona sobre la alternativa de “Referencias”.
  • Como veras se te abrirá una nueva ventana, en ella tienes que buscar la descripción “Microsoft Outlook (versión) Object Librery” y hacer click sobre ella, para que luego presiones en “Aceptar”.

Al hacer esto último, ya podras enviar los emails a varios destinatarios, aunque para ello tienes que crear un botón utilizando “Control ActiveX”, esto último lo haces siguiendo este tutorial:

  • Entra en la alternativa de “Desarrollador” que se encuentra en la parte de arriba del menú de opciones.
  • Acto seguido dirígete a la opción de “Insertar”.
  • Una vez hecho esto, tienes que seleccionar el tipo de control que deseas asignar (Debes colocar el cursor sobre cada una de estas pestañas para que se te especifique la acción).
  • Finalmente cuando se cree el comando, debes proceder a entrar donde está el comando VBA y elegir el tipo de código que deseas proporcionarle al botón.

Por último, tienes que crear un código VBA con el que se establezcan diferentes enlaces para enviar 5 mensajes distintos a la misma vez, y con capacidad de adjuntar en cada uno de ellos los ficheros que se deseen.

 

Esto último puedes lograrlo con el siguiente comando:

 

Sub seleccionararchivosadjuntos3(nocolumna As Integer)
Application.ScreenUpdating = False
Dim i, j As Integer
Dim numeroArchivos As Integer
Dim hoja As Worksheet
Set hoja = ActiveWorkbook.Worksheets("Ejemplo3")
Dim fldr As FileDialog
Set fldr = Application.FileDialog(msoFileDialogFilePicker)
'determinar cuantos archivos adjuntos hay
numeroArchivos = 0
Do While hoja.Cells(12 + numeroArchivos, nocolumna) <> ""
  numeroArchivos = numeroArchivos + 1
Loop
'preguntar si desea borrar los archivos ya adjuntados (en caso de que los haya)
If numeroArchivos <> 0 Then
  If MsgBox("¿Desea borrar los archivos adjuntados existentes?", vbYesNo) = vbYes Then
      hoja.Cells(12, nocolumna).Resize(10, 1).ClearContents
  End If
End If
'mostrar ventana con archivos a elegir
With fldr
  .Title = "Select a Folder"
  .AllowMultiSelect = True
  If .Show <> -1 Then Exit Sub
   
  If .SelectedItems.Count > 10 - numeroArchivos Then
      MsgBox "Sólo puede adjuntar 10 archivos cómo máximo"
      Exit Sub
  End If
'escribir los archivos en el excel y asignarles un hyperlink
  If .SelectedItems.Count <= 10 - numeroArchivos Then
      For i = 1 To .SelectedItems.Count
          hoja.Cells(11 + numeroArchivos + i, nocolumna).Worksheet.Hyperlinks.Add _
          anchor:=hoja.Cells(11 + numeroArchivos + i, nocolumna), _
          Address:=.SelectedItems(i), _
          TextToDisplay:=.SelectedItems(i)
      Next i
  End If
End With
Application.ScreenUpdating = True
End Sub

 

Y listo, ya solo deberás colocar en cada uno los documentos que desees y enviarlos a la misma vez con el botón que creaste.




X