Macro con Word para enviar por e-mail

Ante todo, te felicito por tus extensísimos conocimientos sobre Word y Office, en general.
Tengo una duda o problema, según se mire, y debido a mis limitados conocimientos, hacen que me quede "estancado".
Verás, tengo un documento Word que me hace unas etiquetas, las cuales se generan desde una base de datos a la cual accedo a través de ODBC. Tengo varias macros según la selección particular que quieran realizar. Genero un nuevo documento con las etiquetas generadas. Hasta aquí, todo perfecto...
Pero el problema viene cuando quiero combinarlo por e-mail, en lugar de hacerlo en un documento nuevo. Conseguí hacerlo, pero me genera un e-mail, con el archivo adjunto por cada página de etiquetas. La página es A4, y son 16 etiquetas(2 columnas por 8 filas). El problema es que me genera un e-mail con su consiguiente anexo, por cada hoja. O sea que si una consulta tiene 16 hojas(256 etiquetas), me genera 16 mails con 16 anexos. Me meto a modificar la macro con VB, pero ya no me aclaro. Te diré que mi sistema de correo es Lotus Notes. No es Outlook ni Exchange, pero eso no tiene nada que ver, ya que consigo que me los envíe, pero no como yo quiero.
¿Qué debo hacer para que me envíe un solo e-mail con un anexo que sea el documento completo con todas las etiquetas? ¿Qué debo modificar en la macro con VB?.

1 respuesta

Respuesta
1
Canuro disculpa la demora, ¿me puedes pasar el código para ver como está generando las etiquetas? Porque lo que tendría que hacer es generar en un nuevo documento la combinación y desde allí enviarlo por correo.
Hola Nilda. Ante todo gracias por contestarme y en segundo lugar, disculpa el retardo, pero motivos familiares me impiden tener mis horarios y ocupaciones al día.
Bueno, te paso el código de la macro. Lo único que a la hora de generar un nuevo documento y enviarlo por e-mail, el Word pide un formulario de Exchange y yo tengo Lotus Notes. Lo raro es que si hago el merge directamente con salida a e-mail. Funciona(pero con 1 mensaje por cada hoja A-4). ¿Qué raro, no?.
Un saludo cordial
ActiveDocument.MailMerge.OpenDataSource Name:="", ConfirmConversions:= _
False, ReadOnly:=False, LinkToSource:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _
WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _
Connection:="DSN=AS/400;", SQLStatement:= _
"SELECT WY052P.WKCINS, WY052P.NOCLI, WY052P.EXCPRV, WY052P.EXPROV, WY052P.EXCPOS, WY052P.EXMARC, WY052P.NOM, WY052P.ADR, WY052P.CONTA2, WY052P.BURDIS, WY052P.EMAIL FROM AS400.SP2000LOF.WY052P WY052P WHERE (WY052P.WKCINS='06')" _
, SQLStatement1:=""
With ActiveDocument.MailMerge
.Destination = wdSendToEmail
.MailAsAttachment = True
.MailAddressFieldName = "EMAIL"
.MailSubject = "Etiquetas Francisco Rosado"
.SuppressBlankLines = False
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With
End Sub
Nosotros tampoco pudimos, esto es porque le pedí ayuda a mi marido que de Visual Basic sabe mucho pero mucho más que yo que apenas me defiendo con el VBA, y tampoco pudo, sigue generando una página por cada registro y tampoco se le ocurre otra forma de resolverlo.
Lamento espero poder ayudarte en otra oportunidad.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas