¿Es posible enviar desde un Excel correos a diferentes destinatarios,adjuntando archivos distintos usando el Lotus y no outlook?

Necesito enviar 20 correos a diferentes destinatarios, a cada uno de ellos con un archivo adjunto distinto y un mensaje y asunto distinto. Todo ello de la manera más automatizada posible. He visto en respuestas macros de Excel que si lo hacen con el Outlook pero yo necesito saber si con Lotus(programa que tenemos en la empresa) se puede y en caso afirmativo como configurarlo para ello.

Respuesta
2

H o l a:

Prueba con la siguiente macro.

Sub mensaje()
    SendNotesMail "Prueba", "[email protected]", "Hola", "C:\trabajo\varios\archivo.xlsx"
End Sub

Cambia en la macro "[email protected]", por el correo de prueba.

También cambia "C:\trabajo\varios\archivo.xlsx", por la ruta y el nombre del archivo que vas a enviar.


También pon la siguiente macro en el mismo módulo:

Public Sub SendNotesMail(Subject As String, Recipient As String, BodyText As String, attachment As String)
    Dim Maildb As Object
    Dim UserName As String
    Dim MailDbName As String
    Dim MailDoc As Object
    Dim AttachME As Object
    Dim Session As Object
    Dim EmbedObj As Object
    Dim Recip(10) As Variant 'Si hay varios destinatarios
    Dim SaveIt As Boolean
    Dim WasOpen As Integer
    SaveIt = True
    Set Session = CreateObject("Notes.NotesSession")
    UserName = Session.UserName
    MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
    Set Maildb = Session.GETDATABASE("", MailDbName)
    If Maildb.IsOpen = True Then
        WasOpen = 1
    Else
        WasOpen = 0
        Maildb.OPENMAIL
    End If
    Set MailDoc = Maildb.CREATEDOCUMENT
    MailDoc.Form = "Memo"
    MailDoc.sendto = Recipient
    MailDoc.Subject = Subject
    MailDoc.body = BodyText
    MailDoc.SAVEMESSAGEONSEND = SaveIt
    If attachment <> "" Then
        Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
        Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", attachment, "Attachment")
        MailDoc.CREATERICHTEXTITEM ("Attachment")
    End If
    MailDoc.PostedDate = Now()
    MailDoc.SEND 0, Recipient
    'Limpiar
    Range("A1").Select
    Application.CutCopyMode = False
    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set AttachME = Nothing
    Set EmbedObj = Nothing
    If WasOpen = 1 Then
        Set Session = Nothing
    ElseIf WasOpen = 0 Then
        Session.Close
        Set Session = Nothing
    End If
    MsgBox "El mensaje de correo se ha enviado correctamente", vbOKOnly
End Sub

Sigue las Instrucciones para ejecutar la macro

  1. Abre tu archivo de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia ambas la macro
  5. Selecciona la primer macro y presiona F5 para ejecutarla.

Lo que vas a hacer es una prueba para enviar un correo de prueba. Si el correo se envía con éxito, entonces hacemos un ciclo para enviar los 20 correos.

E spero tus comentarios.

Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas