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
- Abre tu archivo de excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- En el menú elige Insertar / Módulo
- En el panel del lado derecho copia ambas la macro
- 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