Discussion:
Como enviar un correo desde Acces
(demasiado antiguo para responder)
Toni
2012-09-17 09:03:08 UTC
Permalink
Buenos dias,

Quiero enviar un correo electrónico con datos de un formulario. Por Internet he encontrado este módulo que me parece bastante claro y suficiente:

Sub EnviarMensaje()

'Es necesario añadir la referencia Microsoft Outlook Library (herramientas/referencias)

Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)

With OutMail
.To = "***@dominio.com"
.Subject = "Asunto del mensaje"
.Body = "Texto del mensaje" & Forms!ActForm!NumExp

'Se pueden adjuntar ficheros
'.Attachments.Add ("C:\Mi_Fichero.pdf")

.Send 'también .Display lo enseña
End With

Set OutMail = Nothing
Set OutApp = Nothing

End Sub

Cuando intento ejecutarlo, el puntero se para en la 1ra linea de definición de variables, y muestra el error: "No se ha definido el tipo definido por el usuario". Des de la ayuda veo que deberia definir alguna variable, y ahí me pierdo.

Qué debo hacer?

Gracias de antemano.
Toni
2012-09-17 09:22:39 UTC
Permalink
Olvidé comentar que he intentado añadir la referencia LibraryBiblioteca de objetos de Microsoft Outlook 8.0 (tengo Acces 2007), pero no la he encontrado en Herramientas de VB.

Gracias.
Post by Toni
Buenos dias,
Sub EnviarMensaje()
'Es necesario añadir la referencia Microsoft Outlook Library (herramientas/referencias)
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)
With OutMail
.Subject = "Asunto del mensaje"
.Body = "Texto del mensaje" & Forms!ActForm!NumExp
'Se pueden adjuntar ficheros
'.Attachments.Add ("C:\Mi_Fichero.pdf")
.Send 'también .Display lo enseña
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Cuando intento ejecutarlo, el puntero se para en la 1ra linea de definición de variables, y muestra el error: "No se ha definido el tipo definido por el usuario". Des de la ayuda veo que deberia definir alguna variable, y ahí me pierdo.
Qué debo hacer?
Gracias de antemano.
Toni
2012-09-19 11:30:34 UTC
Permalink
Buenos dias,

Podrian echarme una mano con esta duda? Por mucho que me entretengo, no consigo dar con la solución.

Gracias.
Toni
Post by Toni
Olvidé comentar que he intentado añadir la referencia LibraryBiblioteca de objetos de Microsoft Outlook 8.0 (tengo Acces 2007), pero no la he encontrado en Herramientas de VB.
Post by Toni
Buenos dias,
Sub EnviarMensaje()
'Es necesario añadir la referencia Microsoft Outlook Library (herramientas/referencias)
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)
With OutMail
.Subject = "Asunto del mensaje"
.Body = "Texto del mensaje" & Forms!ActForm!NumExp
'Se pueden adjuntar ficheros
'.Attachments.Add ("C:\Mi_Fichero.pdf")
.Send 'también .Display lo enseña
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Cuando intento ejecutarlo, el puntero se para en la 1ra linea de definición de variables, y muestra el error: "No se ha definido el tipo definido por el usuario". Des de la ayuda veo que deberia definir alguna variable, y ahí me pierdo.
Qué debo hacer?
Gracias de antemano.
Emilio
2012-09-19 16:24:16 UTC
Permalink
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola!

si la referencia no aparece lo mas probable es que se deba a que no está
instalado Outlook en el ordenador, ¿Lo está?

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
Emilio
2012-09-19 17:11:59 UTC
Permalink
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola!
se me olvidaba añadir que si está instalado y no aparece la referencia yo
repararía la instalación de Office.

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
Toni
2012-09-20 07:18:29 UTC
Permalink
Outlook està instalado, sí, pero a lo mejor Acces no lo detecta.
Post by Emilio
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola!
se me olvidaba añadir que si está instalado y no aparece la referencia yo
repararía la instalación de Office.
Saludos a todos desde Huelva
Emilio [MS-MVP Access 2006/11]
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
José Mª Fueyo
2012-09-20 08:24:32 UTC
Permalink
Hola
¿Que versión de Outlook y que versión de Access utilizas?

Salu2
--
José Mª Fueyo
[MS MVP Access]
Toni
2012-09-21 07:17:11 UTC
Permalink
Acces i Outlook 2007
Post by José Mª Fueyo
Hola
¿Que versión de Outlook y que versión de Access utilizas?
Salu2
--
José Mª Fueyo
[MS MVP Access]
A
José Mª Fueyo
2012-09-21 11:01:24 UTC
Permalink
Hola de nuevo
Sí abres la ventana de referencias, ¿encuentras el modelo de objetos de Outlook? yo tengo en la oficina Office 2003. En éste caso, la referencia que me aparece es "Microsoft Outlook 11.0 Object Library". En tu caso, debería ser (como mínimo, ya te digo que aquí no puedo comprobarlo) Outlook 12.

Salu2
--
José Mª Fueyo
[MS MVP Access]
Toni
2012-09-21 13:29:31 UTC
Permalink
Buenas, José Mª

Entiendo que te refieres a la ventana de Herramientas>Referencias que se encuentra en VB (por cierto, como puedo acceder a la ventana de VB sin tener que pasar por el diseño de algun objeto?)

En las referencias disponibles tengo marcadas 'Visual Basic for Applications', 'Microsoft Access 12.0 Object Library', 'OLE Automation' y 'Microsoft Office 12.0 Access database engine Object Library'

La única que veo que tiene alguna referencia a Outlook es la que está etiquetada como 'Microsoft Office Outlook View Control', que no tengo marcada.

Buen fin de semana!
Toni
Post by José Mª Fueyo
Hola de nuevo
Sí abres la ventana de referencias, ¿encuentras el modelo de objetos de Outlook? yo tengo en la oficina Office 2003. En éste caso, la referencia que me aparece es "Microsoft Outlook 11.0 Object Library". En tu caso, debería ser (como mínimo, ya te digo que aquí no puedo comprobarlo) Outlook 12.
Salu2
--
José Mª Fueyo
[MS MVP Access]
Emilio
2012-09-21 16:01:44 UTC
Permalink
--------------------------------------------------------------------------
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola!

como te dije si tienes instalado Outlook ¿el de Office? y no aparece entre
las referencias deberás reparar o reinstalarlo. Otra cosa es que uses el
antiguo Hotmail, que ahora llaman Outlook, en cuyo caso no tendrás nada que
hacer por este camino.

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
José Mª Fueyo
2012-09-21 23:17:27 UTC
Permalink
Hola
Aparte de lo que te comenta Emilio, deberías comprobar que tipo de instalación tienes, no vaya a ser que te falta algún componentes.
Además, deberías tener en cuenta los problemas que puedes tener debido a la protección contra virus que automaticen el envío de correo (http://www.outlookcode.com/article.aspx?id=52). ¿Necesitas usar Outlook, o puedes saltarte el usar un cliente de correo?

Salu2
--
José Mª Fueyo
[MS MVP Access]
Toni
2012-09-24 07:20:49 UTC
Permalink
Buenos días,

Quiero efectuar notificaciones a usuarios, en función de eventos automàticos(tiempos para la caducidad de un proceso), o de eventos producidos por otros usuarios.

Ahora mismo lo hago con una tabla de incidencias, pero me obliga a que todos los integrantes del proceso deban abrir la aplicación para verlas, cuando muchos de ellos tan solo recibiendo un aviso o notificación podrían hacer su parte, sin tener que ser necesariamente usuarios de Acces (trabajos de campo, por ejemplo, que aportan datos al personal de administración, quien los entra en el programa).
Post by José Mª Fueyo
Hola
Aparte de lo que te comenta Emilio, deberías comprobar que tipo de instalación tienes, no vaya a ser que te falta algún componentes.
Además, deberías tener en cuenta los problemas que puedes tener debido a la protección contra virus que automaticen el envío de correo (http://www.outlookcode.com/article.aspx?id=52). ¿Necesitas usar Outlook, o puedes saltarte el usar un cliente de correo?
Salu2
--
José Mª Fueyo
[MS MVP Access]
José Mª Fueyo
2012-09-24 07:42:29 UTC
Permalink
Hola
¿Verificaste la instalación por sí falta algo?
Otra cosa, ¿viste el tema que te puse en el link anterior? por qué te va a dar muchos problemas. Y recuerda que, aparte, para enviar un correo a través de Outlook, éste tiene que estar abierto. Y te aseguro que no siempre los usuarios lo tienen abierto...

Salu2
--
José Mª Fueyo
[MS MVP Access]
Toni
2012-09-24 11:28:42 UTC
Permalink
Sí, me he fijado que es un tema complejo. Seguiremos como estábamos.

Gracias
Post by José Mª Fueyo
Hola
¿Verificaste la instalación por sí falta algo?
Otra cosa, ¿viste el tema que te puse en el link anterior? por qué te va a dar muchos problemas. Y recuerda que, aparte, para enviar un correo a través de Outlook, éste tiene que estar abierto. Y te aseguro que no siempre los usuarios lo tienen abierto...
Salu2
--
José Mª Fueyo
[MS MVP Access]
José Mª Fueyo
2012-09-24 15:17:03 UTC
Permalink
Hola
Depende. Puedes realizar el envío de correo sin usar Outlook. En el mismo link, se explican varias opciones.
Yo hice algunas pruebas con éste ActiveX y me gustó bastante
http://www.ostrosoft.com/OSSMTP6.asp

Espero te sirva todo esto.

Salu2
--
José Mª Fueyo
[MS MVP Access]
jhonchrisad
2024-02-14 02:47:32 UTC
Permalink
Post by Emilio
--------------------------------------------------------------------------
�Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvi� o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola!
si la referencia no aparece lo mas probable es que se deba a que no est�
instalado Outlook en el ordenador, �Lo est�?
Saludos a todos desde Huelva
Emilio [MS-MVP Access 2006/11]
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
Buen día. Tenia el mismo problema a lo que la referencia que te pide se encuntra en c:\Program Files (x86)\Microsoft Office\OFFICE11\MSOUTL.OCX - Me funciono tu codigo sin ningun problema
Loading...