Visual Basic para Aplicaciones - Macro en Excel para envio de correo

Life is soft - evento anual de software empresarial
 
Vista:

Macro en Excel para envio de correo

Publicado por Yolanda (1 intervención) el 03/09/2010 14:22:36
Hola,
No tengo mucha idea de macros, pero buscando hice una macro para enviar a través de un excel un correo con un adjunto.
La macro funciona correctamente, pero al ser Office 97 con SP3, me pide autorización (por temas de seguridad) para enviar cada correo. Es decir si tengo sin registros para mandar 100 correos pues 100 veces.
El envío lo hago con .sent ¿Conoceis alguna otra función u otra manera de programarlo para hacerlo y que no me salga ese mensaje pidiendo permiso?
Muchas gracias,
Yolanda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Macro en Excel para envio de correo

Publicado por Zeus Alberto Páez Rentería (26 intervenciones) el 14/12/2010 02:22:29
Hola Yolanda

Oye vas a necesitar crear una funcion por ejemplo en outlook y mandarla llamar desde excel

La tendras que crear desde ThisOutlookSession una funcion y mandarla llamar desde excel para que no te envie ese mensaje

Algo similar a esto:

Public Sub FunSendEmail(To as String, CC as String, NSubject as String, MsgBody as String, Optional strAttach as String) as Boolean

Dim MAPISession as Outlook.NameSpace
Dim MAPIFolder as Outlook.MAPIFolder
Dim MAPIMailItem as Outlook.MailItem
Dim oRecipient as Outlook.Recipient
Dim blnSusccessful as Boolean

Set MAPISession = Application.Session

If Not MAPISession Is Nothing Then

MAPISession.Logon , , True, False

Set MAPIFolder = MAPISession.GetDefaultFolder(olFolderOutbox)

If Not MAPIFolder Is Nothing Then

Set MAPIMailItem = MAPIFolder.Items.Add(olMailItem)
If Not MAPIMailItem Is Nothing then

With MAPIMailItem

'crea los destinatarios
TempArray = Split(To,";")
For each varArrayItem In TempArray
strEmaiAddress = Trim(varArrayItem)
if Len(strEmailAddress)>0 then
Set oRecipient = .Recipients.Add(strEmailAddress)
oRecipient.Type= To
Set oRecipient = Nothing
End if
Next varArrayItem

.Subject = NSubject

.HTMLBody = MsgBody
TempArray = Split(strAttach,";")
For each varArrayItem In TempArray
srtAttachmentPath = Trim(varArrayItem)
If Len(srtAttachmentPath)>0 then
.Attachments.Add srtAttachmentPath
End if
Next varArrayItem

Set MAPIMailItem = Nothing
End With
End If
Set MAPIFolder = Nothing
End if
MAPISession.Logoff
End if
Exit Routine:
Set MAPISession = Nothing
FunSendEmail = blnSuccessful
Exit Function

End Function

Saludos y Espero te Sirva quiza tenga algun error pues lo programe en en aire

Att. Ing Zeus Alberto Paez Renteria
Triumph Aerospace Group
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macro en Excel para envio de correo

Publicado por Adriana EE (1 intervención) el 23/11/2011 17:47:02
Hola Zeus!

Una pregunta, quiero hacer un programa muy simple para que cuando una suma de números (sólo 6 casillas) pase de 10000 me mande un correo al mail.. la verdad es que sólo tengo el código de lo del mail... pero creo que no está bien... No se mucho del tema y agradecería mucho tu ayuda :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar