Access - Vb Excel, enviar a destinatario de correo

 
Vista:
Imágen de perfil de carlos

Vb Excel, enviar a destinatario de correo

Publicado por carlos (24 intervenciones) el 21/04/2007 00:02:06
Hola,

Bajo codigo de Visual Basic, paso un report a excel que dejo abierto para poder escribir en el mismo.
Además, tambien con visual basic , hago la operacion que hariamos con el teclado:
"Archivo" -> "enviar a" -> "destinatario de correo".

Hasta ahi, todo bien.

Ahora lo que me propongo, es que desde visual tambien, pueda escribir una direccion de correo, y un texto en el asunto.

Agradeceria que me pasaseis el codigo ejemplo para esta parte.
Imagina que quiero poner en "para" : [email protected]
en asunto: gracias por la ayuda"

Todo esto, antes lo hacia con sendkeys en office2000, pero he cambiado a 2003 y ahora no quiere hacerlo.
espero vuestras noticias, gracias.
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
Imágen de perfil de Alejandro

Enviar correo electrónico con dirección y asunto específicos mediante automatización de Outlook

Publicado por Alejandro (4142 intervenciones) el 09/08/2023 18:56:12
Lamento informarte que el uso de `SendKeys` no es la mejor opción para automatizar tareas en aplicaciones como Outlook. En lugar de eso, te recomiendo que utilices la biblioteca de automatización de Office (VBA) para lograr lo que necesitas. Aquí tienes un ejemplo de cómo enviar un correo electrónico con una dirección y un asunto específicos utilizando código VBA en Access:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub EnviarCorreo()
    Dim objOutlook As Object
    Dim objMail As Object
 
    ' Crear instancia de Outlook
    Set objOutlook = CreateObject("Outlook.Application")
 
    ' Crear un nuevo correo electrónico
    Set objMail = objOutlook.CreateItem(0) ' 0 = MailItem
 
    ' Configurar los campos del correo electrónico
    With objMail
        .To = "carlos@hotmail.com"
        .Subject = "Gracias por la ayuda"
        .Body = "Hola Carlos, quería agradecerte por tu amable ayuda."
        .Display ' Mostrar el correo en Outlook
    End With
 
    ' Liberar los objetos
    Set objMail = Nothing
    Set objOutlook = Nothing
End Sub

Este código crea un nuevo correo electrónico en Outlook con la dirección de correo y el asunto que deseas, y luego lo muestra para que puedas verificar y enviar manualmente.

Si prefieres enviar automáticamente el correo sin mostrarlo en pantalla, puedes usar `.Send` en lugar de `.Display`:

1
2
3
4
5
6
7
8
' ...
With objMail
    .To = "carlos@hotmail.com"
    .Subject = "Gracias por la ayuda"
    .Body = "Hola Carlos, quería agradecerte por tu amable ayuda."
    .Send ' Enviar el correo automáticamente
End With
' ...

Es importante mencionar que para utilizar este código, debes tener configurado Outlook en tu máquina y haber habilitado la opción de automatización. Además, es una buena práctica liberar los objetos (`objMail` y `objOutlook`) una vez que hayas terminado de usarlos para liberar recursos.

Recuerda que el uso de `SendKeys` es una técnica desaconsejada debido a su falta de fiabilidad y su propensión a causar problemas en la automatización. Utilizar la biblioteca de automatización de Office (VBA) es una forma más segura y eficiente de lograr tus objetivos.
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