programador - combinar correspondencia

Combinación de correspondencia con archivos adjuntos

La utilización de Word y Outlook para combinar correspondencia es excelente, pero limitada cuando nos enfrentamos a un lista de, por ejemplo, 100 emails personalizados con 1 archivo diferente para cada destinatario… Por defecto, la combinación no se puede hacer, pero si trabajamos un poco, podremos preparar una macro que haga el trabajo por nosotros.

Necesitaremos un par de ingredientes:

  • MS Word 2007, 2010, 2013 o superiores
  • MS Outlook 2007, 2010, 2013 o superiores

 

Tiene varias limitaciones de formato, pero es un mal menor con el que tendremos que vivir… El tiempo que nos ahorraremos suplirá el inconveniente de no poder añadir una imagen de cabecera en el email, no?

Continuamos tras el salto, para no saturar la ventana principal…

PROGRAMAR PARA COMBINAR CORRESPONDENCIA

En primer lugar, vamos a tener que localizar la pestaña programador en Word (entra en este enlace si no la encuentras). En Opciones de Word…

programador - combinar correspondencia

Aceptamos, cerramos y ya vemos la ficha programador en la cinta de opciones… nos centramos en el primer bloque de opciones.

Le damos al botón de Macros, escogemos un nombre como “combina”,  y le damos a Crear.

combina - combinar correspondencia

Veremos ahora una ventana como esta…

macros combinar correspondencia

 

Macro para combinar correspondencia

Vamos a vaciarla y pegarle este código que tenemos aquí abajo (os marco en rojo la dirección de email, que deberéis cambiar por la vuestra para evitar posibles errores):

Sub combina()
Dim Source As Document, Maillist As Document, TempDoc As Document
Dim Datarange As Range
Dim i As Long, j As Long
Set objEmail = CreateObject("CDO.Message")
objEmail.from = "info@educadictos.com"
Dim bStarted As Boolean
Set oOutlookApp = CreateObject("Outlook.Application")
' Dim oItem As Outlook.MailItem
Dim mysubject As String, message As String, title As String
Set Source = ActiveDocument
' Check if Outlook is running. If it is not, start Outlook
On Error Resume Next
Set oOutlookApp = GetObject(, "Outlook.Application")
If Err <> 0 Then
Set oOutlookApp = CreateObject("Outlook.Application")
bStarted = True
End If
' Open the catalog mailmerge document
With Dialogs(wdDialogFileOpen)
.Show
End With
Set Maillist = ActiveDocument
' Show an input box asking the user for the subject to be inserted into the email messages
message = "Escribe el asunto que llevarán todos los emails" ' Set prompt.
title = " Email Subject Input" ' Set title.
' Display message, title
mysubject = InputBox(message, title)
' Iterate through the Sections of the Source document and the rows of the catalog mailmerge document,
' extracting the information to be included in each email.
For j = 1 To Source.Sections.Count - 1
Set oItem = oOutlookApp.CreateItem(olMailItem)
With oItem
.Subject = mysubject
.Body = Source.Sections(j).Range.Text
Set Datarange = Maillist.Tables(1).Cell(j, 1).Range
Datarange.End = Datarange.End - 1
.To = Datarange
For i = 2 To Maillist.Tables(1).Columns.Count
Set Datarange = Maillist.Tables(1).Cell(j, i).Range
Datarange.End = Datarange.End - 1
.Attachments.Add Trim(Datarange.Text), olByValue, 1
Next i
.Send
End With
Set oItem = Nothing
Next j
Maillist.Close wdDoNotSaveChanges
' Close Outlook if it was started by this macro.
If bStarted Then
oOutlookApp.Quit
End If
MsgBox Source.Sections.Count - 1 & " messages have been sent."
'Clean up
Set oOutlookApp = Nothing
End Sub

Una vez pegado… guardamos y cerramos.

Ahora para combinar correspondencia necesitaremos otros 2 archivos Word…

  • Documento 1: Cuerpo del email que queremos enviar, con el texto, nombres, etc… En resumen, el email que vamos a combinar. Supondré que ya sabes hacer combinación, así que no te diré nada más. Tú simplemente ten el email preparado para enviar sin adjuntos.
  • Documento 2: Otro word con una tabla de 2 columnas, una con el email del destinatario (que ha de coincidir con uno de los destinatarios del documento 1, lógicamente), y otra con la ruta en tu ordenador del documento que ha de recibir. Y una fila por cada destinatario… algo así:

 

tabla - combinar correspondencia

[alert]La tabla no lleva encabezados.[/alert]

Este Documento 2 lo guardaremos con un nombre reconocible, como “Tabla de adjuntos”, o similar. Y ahora viene lo bueno…

  1. En el Documento 1, ya escrito y con los campos de combinación cubiertos, le damos a  “Finalizar y combinar” y “Editar documentos individuales”.
  2. En el documento donde vemos el resultado de los emails, nos vamos a la pestaña Programador, le damos al botón de Macros, seleccionamos “Combina” y le damos a ejecutar.
  3. La macro nos pedirá que le indiquemos dónde está el Documento 2, así que lo llevamos hasta el nuestro y le damos a aceptar. (Este documento tiene que estar cerrado, o la macro dará error).
  4. Ahora nos pide que añadamos el asunto que llevarán los emails. Aceptamos y listo… Si no tenemos Outlook abierto, lo abrirá, y si ya lo tenemos abierto, irá enviando los emails con los adjuntos rápidamente hasta darnos el resultado de los envíos. Una vez termine, si Outlook estaba abierto, lo dejará abierto, y si estaba cerrado, lo cerrará.

Podéis hacer las pruebas para combinar correspondencia vosotros mismos, veréis que es una macro impresionante

Si queréis añadir más de 1 adjunto, en lugar de tener 2 columnas: destinatario/ruta de archivo, tenemos que tener 3: destinatario/ruta de archivo1/ruta de archivo2… Aunque esta opción no la he probado, prefiero añadirle un archivo único, que puede ser un ZIP con los documentos que vaya a recibir cada destinatario. Cuantas menos cosas puedan dar problema, mejor.

113 Comentarios

    • hola, amigos, lo efectue y si funciona de maravilla, solo como aporte hice varias pruebas, solo deben tener cuidado que en documento 2, donde esta el correo de destinatario y la ruta del archivo, no debe contener espacios.
      sls y gracias a los amigos por el excelente aporte.

      atte.,

      • Hola! A mi me dice que el mensaje al destinatario es enviado, pero nunca lo recibo ni en la bandeja de entrada del receptor ni en la de salida del emisor….. quién puede ayudarme?

        • Hola Gaby, lo ideal es que revises la configuración del correo, para ver exactamente la lista de direcciones a quien envías esa combinación de correspondencia. Saludos

          • Buenas tardes amigo, yo estoy suscrito a su pagina y veo siempre sus vídeos, los cuales me han sacado de muchos apuros y lo mejor aprendizaje, hace tiempo le escribí ya que necesito enviar por correo varios archivos adjuntos, es decir, luego de hacer la correspondencia combinada, tengo al rededor de 40 archivos diferentes, (son información de calificaciones de alumnos) y se deben de enviar a 40 personas diferentes, he intentado y nada, le agradezco su ayudaaaa. mil gracias de antemano, ya que observo en los comentarios que otras personas lo han logrado…

          • si debes personalizar cada archivo y cada envío no te recomiendo combinar la correspondencia jiovanny.
            saludos

          • Buenas amig@, creo que no me explique bien, ya realice la combinación de correspondencia, ya mis archivos están como los deseo… hasta guardado en PDF, lo que requiero es enviar esos archivos a personas especificas, es decir, el archivo boleta1.pdf le corresponde a pedro Perez, la boleta2.pdf le corresponde a maría vargas, y así sucesivamente… esa es la ayuda que necesito.. mil gracias de antemano…

      • Buen dia, Osiel me gustaría saber como lo hiciste ya que realmente lo necesito y me da fallas, sabría agradecer mucho tu ayuda….

        • A mi me funcio en un principio muy bien, pero despues no adjuntaba archivos (cabe mencionar que es un archivo diferente para un destinatario diferente) me di cuenta que me faltaba un espacio en la direccion del archivo de mi PC ya que en algun momento cambie la direccion, despues el problema fue que decia que mande 3 mails de tres destinos y solo mandaba 2 tuve que adicionar una linea de titulos y una debajo en blanco de los tres mails y solo asi me funciono, saludos.

    • Estamos a 2017 y recién leo este aporte que dicen que funciona de Maravilla pero a mí no me funciona. Supongo que con el Outlook 2010 la cosa cambia bastante. ¿alguien me podría ayudar?

  • Hola. Muchas gracias por tu post. Lo he puesto en práctica y no estoy segura de que me haya funcionado. Aunque desde word, al ejecutar la macro, se me abre una ventana donde dice “23 emails have been sent” después en outlook no los tengo en la bandeja de salida. ¿Quiere decir esto que no se han enviado? Gracias. Saludos!

  • Estimado Brais, excelente post!!!

    Quisiera saber si existe la posibilidad que al enviar el correo, se envíe como HTML y no como un mensaje sin formato de Texto.

    Le quedaría muy agradecido por su ayuda.

    • Hola! yo engo el miso issue. Quiero enviar el Email en formato HTML. Como puedo cambiar el codigo para que se envie asi?

  • Buenísmo el artículo:

    Una duda, que supongo que será así: las nombres de los destinatarios que se pusieron en el cuerpo del correo como campo combinado…tienen que estar en el mismo orden (en la tabla) que la tabla que se hace con la ruta de los archivos que se van a adjuntar??.

    Un Saludo y muchas gracias por este post.

  • Muchas gracias, lo he probado y funciona estupendamente.

    Únicamente existe un pequeño problema: tras aplicar la macro se pierde el formato del cuerpo del mensaje (las negritas, subrayados, imágenes, etc). ¿Podría modificarse de alguna manera para que ésto no ocurriera?

    Gracias de nuevo por adelantado.

    Saludos

    • Hola SERCH, quería saber si habias encontrado la manera de conservar los formatos del cuerpo del mensaje. Desde ya muchas gracias. Gabriel

      • Hola. El autor advierte en el texto que se modifica el formato y que no hay o no ha encontrado forma de hacerlo aún. Considero como él que es un mal menor considerando el tiempo ganado en poder enviar adjuntos individuales en forma masiva. Yo he estado haciendo pruebas sin éxito del envío en esas condiciones pero parece hago algo mal. Lo intentaré de nuevo.

    • Buenas amigo como pudiste hacerlo, necesito de su ayuda mil gracias de antemano…

      • Es muy complicado ayudaros en la distancia, Leonardo y Search os recomiendo contactar con un informático especialista que pueda chequear vuestro proceso.

  • Hola, hace unos días la macro dejo de funcionar, ya que al correr la macro ya no genera ningún correo en la bandeja, me podrías apoyar por favor.

    Tengo windows 8 y office 2013

  • Hola. Pues yo lo he intentado y me da error con lo de “Outlook”. Utilizo el Windows 7 y la aplicación para el mail es Windows Live Mail. He cambiado el “Outlook” por el “Windows Live Mail” pero tampoco va. ¿Qué puedo hacer? Gracias anticipadas.

  • Hola. He intentando hacerlo pero no me sale. Utilizo el Windows Live Mail y la macro da error. He puesto “windowslivemail” en lugar de “Outlook” pero no va. ¿Tengo que instalar el Outlook, si o sí? El sistema operativo es Windows 7. Gracias anticipadas.

  • Hola

    Me pareció excelente la macro … ya la probé y funciona muy bien … pero como hacer para que no cambie le formato del cuerpo del correo?

  • en office 2013 no funciona correctamente, hay que añadir un cambio en la macro. en la fila dónde va el destinatario hay que concatenar el destinatario con un espacio en blanco (????):

    original:
    .To = Datarange
    modificado:
    .To = “” & Datarange

    si se quiere un cc:

    .cc = “correo@correo.com”

    • Probé la macro pero solamente adjunta el archivo al primer destinatario. Alguien que me pueda ofrecer una solución por favor?

    • Hola Arturo,

      con este aspecto al que te refieres con el CC, es posible incluir uno o dos “CC” para cada email al cual se está enviando correo?
      O cual es la capacidad que se adquiere en este sentido.

      Gracias por tu apoyo!

    • Arturo, el dato para funcionar en office 2013 es correcto, fue de gran ayuda, muchas gracias.

  • No sabes cuanto me ha sido util esta información. Te lo agradezco eternamente!

  • Agradezco mucho esta macro !!!! y quisiera entender como hacer para que se envien los correos en formato HTML.

  • Me temo que todos tenemos el mismo problema. Si alguien encuentra una solución que lo comparta por favor. Gracias.

  • hola muy buena la macro, pero tengo el siguiente inconveniente al combinar , en el campo cuando se combina el destinario no me concuerda con el adjunto y el correo al que debe enviar, y los coloque en orden.

  • funciona pero como puedo hacer que la firma del correo me aparezca en los enviados?, y que en la combinación de correspondecia me puedan aparecer imágenes que están en el documento?

    gracias!!

  • ¡Excelente tutorial!, lo hice y me funciono a la perfección.
    Pero como a todos he perdido el formato y las imágenes de la firma.

    ¿Alguien sabe como solucionarlo?

    gracias y saludos.

  • a mi con office 365 2016 no me manda nada de nada, siempre dice 0 mensajes mandados

  • GRACIAS!!!
    Eres súper increíble, en la oficina hemos dejado la prehistoria gracias a este post. =D

  • Hola, he probado la macro en word 2013 y funciona en parte añadiendo las modificaciones, consigo enviar un correo pero no me adjunta el fichero. Envia el correo sin adjunto. Gracias

  • Hola,
    Esto permite combinar correspondencia tanto el el email como en el fichero adjunto? O estos últimos los debemos crear de antemano y se envían cada uno a su destinatario al hacer la combinación?

  • Les agrego un punto que puede ayudar,

    Si enviamos los mails con la macro puede que en algunos casos recibamos un mensaje de chkusr por generar mails muy rapido para envio y asume que somos un robot. para evitar este mensaje en el mail hay que agregar la funcion sleep despues del .send

    Declaramos primero_
    Declare Sub Sleep Lib “kernel32.dll” (ByVal dwMilliseconds As Long)
    y luego del .send agregamos sleep(5000) para generar un retardo entre mail y mail.

    Gracias

  • Hola Brais

    Me has salvado!!! Excelente tu post, de mucha ayuda y ademas mega fácil. Normalmente en mi trabajo utilizo muchísimo esta herramienta.

    Me ha funcionado perfectamente pero ahora necesito adjuntar varios archivos no sólo uno. Cómo podría hacerlo?

    Sería ideal me pudieras ayudar.

    Gracias de antemano

      • Hola Almudena, desgraciadamente Brais no está actualmente escribiendo para nosotros, confiamos en que más pronto que tarde podamos volver a tenerlo entre nuestros autores, pero por lo que veo otros lectores han propuesto diferentes opciones a tu consulta en el resto de comentarios, espero que te pueda ayduar! Muchas gracias por leernos y comentar.

  • Muy bueno!!, adjunta el o los archivos (coloqué una columna extra para dos archivos adjuntos) a la perfección, solo tengo una duda… ¿por qué los mails enviados no llevan la imagen de firma que coloqué en mi archivo combinado?
    🙁

  • Eeeehh!!! Lo logré!! 😀 Ohh si!!
    Para enviar el correo combinado junto con n cantidad de archivos adjuntos y firma de imagen, hay que hacer varios cambios.
    Primero: En el documento donde van el/los archivo(s) adjunto(s) agregar una columna extra exclusivamente para el archivo de imagen que se supone es la firma, y referenciarla tal cual lo hicieron con su o sus archivos adjuntos.
    Segundo: Preparar el archivo que tiene el texto (es decir el documento combinado) en formato de HTML, esto es hacerlo con etiquetas y es ahí donde se tiene que especificar donde va la firma (repito, con etiquetas de html). no es muy dificil yo no sé nada de programación en HTML pero surfeando en internet te encuentras tutoriales que te explican rapido lo que necesitas.
    Tercero: en la macro se debe de cambiar .Body por .HTMLBody
    hechos esos cambios el procedimiento es exactamente el mismo que se explica en este tutorial.
    Espero que aún le sea a alguien de utilidad
    Saludos

    • Hola amigo, me podrías ayudar estoy apunto de lograrlo pero me pierdo un poco he logrado que me mande el mail (casi ordenado) + los 2 adjuntos en pdf. pero el mail me cambia la foto de firma por / y es lo unico en que fallo.

    • Buenas, en donde tengo que poner las etiquetas HTML? En el documento o en la macro, Gracias

    • Como lo lograste MIKEL??? Podrias subir el paso a paso mas que todo preparar el archivo en html.

    • Hola, Mikel.

      Seguí tus pasos para lo de la firma, pero me he detenido en lo de las etiquetas. Cuando quiero poner una etiqueta de firma, debajo del saludo, me vuelve a abrir el documento de Base de Datos, es decir, el de direcciones de correo electronico.

      ¿Cómo etiquetaste la firma?

      • Esta fue mi solución.

        Aunque la firma es detectada como un elemento que atenta contra la confidencialidad del receptor y sólo es visible cuando das clic en “Descargar imágenes”.

        Les dejo el copy paste del cuerpo de mi correo de prueba:

        Buen día, Lic. Garza.
        Le saludo con mucho gusto, esperando se encuentre bien.
        Envío nuestra lista de productos actualizada para que la considere.
        Quedo a su entera disposición para lo que necesite.

        ¡Saludos!

        ¡Bendiciones!

    • Esta fue mi solución.

      Aunque la firma es detectada como un elemento que atenta contra la confidencialidad del receptor y sólo es visible cuando das clic en “Descargar imágenes”.

      Les dejo el copy paste del cuerpo de mi correo de prueba:

      Buen día, Lic. Fernanda Garza.

      Le saludo con mucho gusto, esperando se encuentre bien.

      Envío nuestra lista de precios actualizada para que la considere.

      Quedo a su entera disposición para lo que necesite.

      ¡Saludos!

      Claro, quitando los saltos de línea.

      ¡Bendiciones!

    • No funciona. Hice todo tal cual lo mencionas, y nada.

      Comienzo a estresarme… 🙁

    • Gracias!!
      Me funcionó perfecto.
      Lo único que no me gusta es que las imágenes van a quedar tanto en el cuerpo del mensaje, como en documento adjunto.
      Pero al menos ya se ve con formato e imágenes.
      Saludos.

    • Hola Mikel.

      Te entiendo super, pero tu nos dices que en el archivo word de “tabla de adjunto” coloquemos la ruta de la imagen de la firma; en la macro en que parte nombramos o llamamos esta imagen.

      Te agradezco de antemano tu respuesta

    • Muchas gracias por su colaboración finalmente lo logre tambien, Mikel de dio una luz enorme aunque no se explico con mucha claridad, les termino de explicar que deben diseñar por medio de lenguaje HTML su correo incluyendo las imagenes tipo de texto y todo lo necesario, luego usan ese texto de HTML para reemplazar todo lo escrito en el archivo convinado. Este cambio es escencial:
      “Tercero: en la macro se debe de cambiar .Body por .HTMLBody
      hechos esos cambios el procedimiento es exactamente el mismo que se explica en este tutorial.”
      y el outlook toma el texto HTML y lo convierte en lo que se supone que hace el HTLM tampoco soy experto en el tema pero lo logre!!
      Gracias Mikel!, gracias todos

  • Gracias por esta Macro!! Pero tengo un problema. en el Word hay el logo de la empresa y no me sale en el cuerpo del email. Alguien me puede ayudar por favor??

  • Una excelente aportacion me funciono de lo mejor !!! Si en algo les puedo apoyar pero algunos veo que no les funciono, vi unos comentarios que decia que se envio correo y no lo ven en enviados, eso significa que no se enviaron (me paso) pero a prueba y error me funciono al final : diferentes adjuntos a diferentes destinatarios tengo outlook 2007
    Saludos.

    • Hola Fhr Zoo
      como lo lograste? me pasa lo mismo me puedes adjuntar tu macro?
      Saludos

    • Hola que tal

      Cómo realizaste la corrección? Tengo el mismo problema 🙁

      Gracias

    • buenas noches amigo, me podras ayudar me dice que si envío los correos pero al buscar no salen. Que hiciste necesito ayuda…. gracias

  • Tengo Office 2013, me funciona bien, pero no me adjunta el o los archivos.

    Seguí los pasos al pie de la letra.

    Donde puede estar el error?

  • HOLA, TENGO OFFICE 2012 SALEN LOS CORREOS, PERO NO SE VAN LOS ARCHIVOS , LA RUTA ESTA EN RED, NO ES C, PROPIAMENTE Y ESTA EN VARIOS SUBACARPETA, EJEMPLO K:\AVISO\ETC, HAY ALGUN PROBLEMA, EL CORREO SALE SUPER BIEN

    • Yo también he tenido el mismo problema cuando el archivo esta colocado en una unidad de red. No he encontrado el motivo de este problema, pensaba que era por algún tipo de permisos. Pero la solución está en colocar el archivo en una carpeta situada en ordenador con el que se envía el correo, al menos de momento.
      Saludos.

  • Exelente, andube buscando algo asi mucho tiempo, me ahorraste dinero.

    Gran aporte!!

  • Excelente la Macro, felicitaciones
    Tengo un consulta de pronto tenga una macro para que en una combinación de correspondencia, entre ord y excel, el cuerpo de texto, viaje como dato adjunto, es decir se refleje en el mail del destinatario solo el dato adjunto personalizado los datos extraidos de la base de datos(excel) muchas gracias

  • Excelente! Pero me tomo la libertad de añadirle una mejora, y es que, a mi por lo menos me interesa saber si el mensaje se ha recibido. Se le añade a la macro lo siguiente, justo después de la línea “objEmail.from = “micorreo@midominio.es””:

    With objEmail
    .Fields(“urn:schemas:mailheader:disposition-notification-to”) = _
    “micorreo@midominio.es”
    .Fields(“urn:schemas:mailheader:return-receipt-to”) = _
    “micorreo@midominio.es”
    .Fields.Update
    End With

    tal que donde pone”micorreo@midominio.es” se colocará la dirección de correo electrónico en particular de cada uno.
    Así sabremos si leen dicho correo. Saludos!

    • Gran aporte Rikardo, muchas gracias! Trataremos de ponerlo en práctica…

  • Hola amigos que alguien me ayude por fa, uso Office 2013, la combinación salió bien, los destinatarios recibieron correo personalizados, sin embargo, no me adjunta el archivo.

    Utilicé la ruta del escritorio para el adjunto, ¿es por eso?, ¿hay que modificar una instrucción de la macro o algo así?

    Ayúdenme amiguitos, Gracias 🙂

    • Hola otra vez, luego de múltiples intentos lo conseguí, se enviaron los correos personalizados y con su respectivo adjunto. Lo que hice fue modificar un poco una de las instrucciones :

      en la línea 44 dice:
      .Attachments.Add Trim(Datarange.Text), olByValue, 1

      y le modifiqué por:
      .Attachments.Add “C:\Prueba\imagen.jpg”

      Es decir :

      .Attachments.Add “ruta del archivo a adjuntar” .

      Sólo me queda el inconveniente de que se pierde el formato origen en el cuerpo del mail (negritas, cursivas, centrado, etc). Si alguien lo ha resuelto, por favor compártalo.

      Éxito con sus macros. Saludos 🙂

  • alguien puede ayudarme, mensaje que me da:
    ” se ha producido el error ´429´ en tiempo de ejecución:
    El componente ActiveX no puede crear el objeto “

  • La primera vez excelente, pero quiero volver a utilizarlo y no quiere ejecutarse el macro, ayudaaaaa

  • Hola
    A mi me funciona con la primera dirección de la tabla. el resto las ignora.
    Porque?

    • En el código de la macro existe un problema. Sustituye el código referente al ciclo anidado por el siguiente. Observa que estoy comentando el ciclo interno y asignado el valor del camino del fichero antes de entrar a tal ciclo. Espero que esto te resuelva, a mi me funciono con este arreglo.
      For j = 1 To Source.Sections.Count – 1
      Set oItem = oOutlookApp.CreateItem(olMailItem)
      With oItem
      .Subject = mysubject
      .Body = Source.Sections(j).Range.Text
      Set Datarange = Maillist.Tables(1).Cell(j, 1).Range
      Datarange.End = Datarange.End – 1
      .To = Datarange.Text
      Set Datarange = Maillist.Tables(1).Cell(j, 2).Range
      Datarange.End = Datarange.End – 1
      .Attachments.Add Trim(Datarange.Text), olByValue, 1
      ‘ For i = 2 To Maillist.Tables(1).Columns.Count
      ‘ Set Datarange = Maillist.Tables(1).Cell(j, i).Range
      ‘ Datarange.End = Datarange.End – 1
      ‘ .Attachments.Add Trim(Datarange.Text), olByValue, 1
      ‘ Next i
      .Send
      End With
      Set oItem = Nothing
      Next j

  • Hola, hago todos los pasos en el codigo del macro solo cambio el correo electronico por el correo con el que tengo configurado el outlook 2013, ejecuto el macro y me sale un letrero de que fueron enviados tantos correos. pero al momento de consultar la bandeja de salida estos nuncan han salido, no aparecen en borradores. ni tampoco le llega al destinario. alguien me puede informar si al macro hay que cambiarle otra linea. los pasos que realice con word 2010 es la siguiente

    primero creo la tabla con el correo y la ruta completa donde esta el archivo de la persona.

    cierro ese
    abro un nuevo documento y creo el macro solo colocando mi correo

    cuarto paso creo un documento con lo que quiero que diga mi correo electronico

    hago una combinación de correspondencia con los documentos individuales con este archivo resulto ejecuto el macro

    en la ventana emergente selcciono el archivo con las rutas

    escribo el asunto

    y luego parece un letreo que dice se enviaron tantos correos de forma correcta.

    pero estos nuncan llegan a los destinatarios, ni aparecen en la bandeja de enviados o borradores.

    todo esto lo estoy haciendo con officie 2013

  • En el código de la macro existe un problema. Deben sustituir el código referente al ciclo anidado por el siguiente. Observar que estoy comentando el ciclo interno y asignado el valor del camino del fichero a adjuntar antes de entrar a tal ciclo. Espero que esto les resuelva, a mi me sucedia lo mismo y ya ahora funciona con este arreglo.
    For j = 1 To Source.Sections.Count – 1
    Set oItem = oOutlookApp.CreateItem(olMailItem)
    With oItem
    .Subject = mysubject
    .Body = Source.Sections(j).Range.Text
    Set Datarange = Maillist.Tables(1).Cell(j, 1).Range
    Datarange.End = Datarange.End – 1
    .To = Datarange.Text
    Set Datarange = Maillist.Tables(1).Cell(j, 2).Range
    Datarange.End = Datarange.End – 1
    .Attachments.Add Trim(Datarange.Text), olByValue, 1
    ‘ For i = 2 To Maillist.Tables(1).Columns.Count
    ‘ Set Datarange = Maillist.Tables(1).Cell(j, i).Range
    ‘ Datarange.End = Datarange.End – 1
    ‘ .Attachments.Add Trim(Datarange.Text), olByValue, 1
    ‘ Next i
    .Send
    End With
    Set oItem = Nothing
    Next j

    • Buenas tardes Carlos:
      He probado con tu código y se manda bien, lo único es que al recibirse se pierde el formato y el logo de empresa que tengo en el cuerpo del mensaje. Y ademas se manda mismo adjunto 2 veces. Lo he probado en la versión 2010. Me puedes ayudar?
      Gracias

    • UNA CONSULTA EN EL CRUCE DE CORRESPONDENCIA DEL CORREO DEBE SER MUY SENCILLO YA QUE SI INSERTO UNA IMAGEN O UNA TABLA ESTE NO LA RECONOCE.
      Muchas Gracias Por la colaboración

      • El proceso no afecta al documento que se envía, debe respetar imágenes u otros elementos insertados sin ningún problema.
        Saludos

  • Buenos dias, habria alguna manera de en vez de enviar el correo automaticamente, dejarlo en la bandeja de salida

    • Buenas tardes, yo creo que eso ya depende de como está configurado el Outlook. Es posible manejar eso en Opciones.

    • Buenos días,
      si cambias .Sent por .Display te aparecerá en la pantalla todos los correos con el texto y los datos adjuntos y no se enviarán. Es muy útil si quieres revisarlos o hacer cambios previo a enviarlos.

  • Genial!!! Este tutorial ha sido un gran descubrimiento! Millones de gracias por compartirlo.

  • Oye, súper bueno.
    pero pierdo el formato al enviar el correo.
    Habrá una forma de que se mantenga en HTML-

    saludos

  • Estimados
    Tengo word 2007, pero no me adjunta los archivos. Tengo la ruta en el disco C.

    Favor su ayuda!

  • Gracias por tu publicación,
    Tengo una pregunta, se podría añadir varios destinatarios en cada email enviado?

    • Hola! yo también tengo la misma pregunta! Se puede añadir varios destinatarios a un mismo email?

  • Amigos, se pierde el formato, alguno sabra como enviar un correo y que no se pierda el formato (HTML).

  • Excelente post, me ha salvado de más de una… Pero ahora necesito que al enviarse el correo no se pierda el formato del mensaje (Negritas, cursivas y esas cosas) … alguien ha logrado solucionarlo?? me podrían indicar el paso a paso por favor!
    Gracias!!!

  • Hola, de maravilla, funciona super bien…
    Adjunte un archivo excel a 80 personas y funciona super…
    agradecido por el aporte…. Saludos

    • Hola Leonardo, ¡encantados de haberte podido ayudar! Muchas gracias por el feedback. Saludos.