** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Acces no envía a Outlook
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoAcces no envía a Outlook

 Responder Responder Página  12>
Autor
Mensaje Invertir el orden de clasificación
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 883
Enlace directo a este mensaje Tema: Acces no envía a Outlook
    Enviado: 16/Enero/2018 a las 07:40
Perdón, se me olvidó decir que posiblemente el problema estuviera en el propio Office 2010. Lo instalé de nuevo y ya Outlook toma el PDF para enviar.

Gracias y un saludo.
Arriba
pitxiku Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 245
Enlace directo a este mensaje Enviado: 14/Enero/2018 a las 16:51
Antes de que l@s administrador@s lo cierren, ¿puedes informar si con ese código se solucionó el problema? Así, si en el futuro alguien tiene el mismo problema, aquí tendrá la solución.
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 883
Enlace directo a este mensaje Enviado: 14/Enero/2018 a las 12:16
Gracias a todos.
Probaré estos métodos, aunque seguramente me quede con el siguiente código:

DoCmd.SendObject acSendForm, informePruebaEnvio, acFormatPDF, "xxxx@yahoo.es", "", "", "Asunto pdf", "Cuerpo mensaje", False, ""   'False o true, para enviar directo o se abra outlook

Este hilo se puede cerrar satisfactoriamente.
Saludos.
Arriba
pitxiku Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 245
Enlace directo a este mensaje Enviado: 14/Enero/2018 a las 11:37
También se puede abrir un informe cualquiera en vista preliminar, y en el ribbon que tiene asignada la vista, en el grupo Datos, usar las acciones Exportar a PDF y enviar por correo. Así sabrás si puedes usar el PDF y el correo electrónico en ese ordenador que te está fallando.
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1107
Enlace directo a este mensaje Enviado: 14/Enero/2018 a las 11:04
Dos post mas arriba...
DoCmd.OutputTo acOutputForm, "Formulario1", acFormatPDF, "C:/PDF/Formulario1" & ".pdf", False         'para formualario

https://msdn.microsoft.com/es-es/vba/access-vba/articles/docmd-outputto-method-access

Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 883
Enlace directo a este mensaje Enviado: 14/Enero/2018 a las 11:01
Gracias a todos.

Pitxiku sí tiene creada una cuenta en Outlook. Pero podrías decirme, dónde Access tiene para enviar un informe o formulario en PDF?


Editado por Nomada - 14/Enero/2018 a las 11:02
Arriba
01loko Ver desplegable
Habitual
Habitual


Unido: 17/Agosto/2017
Localización: Santander
Estado: Sin conexión
Puntos: 169
Enlace directo a este mensaje Enviado: 13/Enero/2018 a las 22:57
yo tengo en una aplicacion algo parecido y funciona de maravilla (Salvo porque outlook pide permiso cada vez)
inicio:
    Dim stDocName As String
    Dim stDocName1 As String
    Dim Formulario As String, email As String, email1 As String, vnombre As String
    Dim Message, Title, Default, MyValue, Myvalue1, Myvalue2
    Message = "Entrada correo electronico"  ' Set prompt.
    Title = "Email"    ' Set title.
    Default = ""    ' Set default.
    MyValue = InputBox(Message, Title, Default)
    If MyValue = "" Or IsNull(MyValue) = True Then GoTo UNO
    email = MyValue
    Myvalue1 = InputBox(Message, Title, Default)
    If Myvalue1 = "" Or IsNull(Myvalue1) = True Then GoTo DOS
    email1 = Myvalue1
    Myvalue2 = InputBox(Message, Title, Default)
    If Myvalue2 = "" Or IsNull(Myvalue2) = True Then GoTo tres
    email2 = Myvalue2
GoTo envio
'si correo en blanco
tres:
    email2 = ""
    GoTo envio
DOS:
    email2 = ""
    email1 = ""
    GoTo envio
UNO:
    MsgBox "¡Necesito al menos un destinatario!", vbInformation, "OK"
    GoTo inicio
envio: 'envio correo
    stDocName1 = "FICHA_ENVIO"
    DoCmd.OpenReport stDocName1, acViewReport
    Formulario = "ficha_envio"
    vnombre = "casa"
    DoCmd.SendObject acReport, Formulario, "PDF", email, email1, email2, "Informacion solicitada", "Envío de ficha en PDF.", False
    DoCmd.Close acReport, Formulario

En este caso pide hasta tres destinatarios y exije al menos uno
"El aprender no ocupa lugar, pero si mucho tiempo. Por eso aunque soy viejo sigo intentando aprender cosas nuevas cada dia"
Arriba
pitxiku Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 245
Enlace directo a este mensaje Enviado: 13/Enero/2018 a las 17:01
En ese equipo que no funciona:

- El Outlook, ¿tiene creada una cuenta?
- En Access, ¿puedes exportar directamente un informe a PDF?
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1107
Enlace directo a este mensaje Enviado: 13/Enero/2018 a las 16:23
Asi quedaria,  y con estemetodo no te pide confirmacion de envio como el otro(por lo menos a mi me lo pide)

ya ves que son pocas lineas..

DoCmd.OutputTo acOutputForm, "Formulario1", acFormatPDF, "C:/PDF/Formulario1" & ".pdf", False         'para formualario

Dim varAdjunto As String
varAdjunto = "C:/PDF/Formulario1.pdf"


                 'Dim OutApp As .Application                           'Esta linea tiene que estar anulada, no se porque pero funciona....
                 Dim OutApp As Object
                 Dim OutMail As Outlook.MailItem
                 Set OutApp = CreateObject("Outlook.Application")
                 Set OutMail = OutApp.CreateItem(olMailItem)
                 With OutMail
                  .To = "xxxx@yahoo.es"
                  .CC = ""
                  .BCC = ""
                  .Subject = "Outlook 2"
                  .Body = "Cuerpo del mensaje"
                  .Attachments.Add varAdjunto  'varAdjunto es la variable con la ruta del archivo
                  .Send    'Si lo activamos nos manda el mail automatico situaldolo en la bandeja salida
                  '.Display  ' nos hace que salga la aplicacion Outlook para editar mensaje

                  End With
                  Set OutMail = Nothing
                  Set OutApp = Nothing
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 883
Enlace directo a este mensaje Enviado: 13/Enero/2018 a las 13:23
Entonces con este segundo código, necesariamente tengo que generar el fichero PDF para luego mandarlo. No me convence mucho. Tendré que seguir con el primero, y averiguar cual es el problema real.

Gracias y un saludo.
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1107
Enlace directo a este mensaje Enviado: 13/Enero/2018 a las 12:36
Ese error suele ser la referencia....pero entiedo que la tienes activa. Prueba a habilitar la primera línea de código.
Lo del formulario, digamos que con este código tendrías que guardar antes el formulario en PDF en una carpeta, access 2010 lo hace fácil también y luego adjuntarlo. Lo bueno de access 2010 es que te permite hacerlo todo con una sola línea de código, sigue investigando dónde está el fallo, porque tiene funcionar
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 883
Enlace directo a este mensaje Enviado: 13/Enero/2018 a las 12:14
rokoko he probado tu segundo código (el más extenso), y la línea:
Dim OutMail As Outlook.MailItem

me da error de compilación:
No se ha definido el tipo definido por el usuario

a qué se refiere?

Por cierto, la línea que dice ".Attachments.Add varAdjunto", me gustaría que mandara el formulario que tengo en pantalla


Editado por Nomada - 13/Enero/2018 a las 12:15
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1107
Enlace directo a este mensaje Enviado: 13/Enero/2018 a las 10:48
Pues ni idea que puede pasar.....
Parece que el problema este en windows 10 por lo que dices, algun firewall??

Si en un pc te funciona y en otro no teniendo la libreria activa y outlook inslaladoy mismo access tiene que ser algo de windows 10...
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 883
Enlace directo a este mensaje Enviado: 13/Enero/2018 a las 10:33
Perdón arriba donde puse:
"He abierto herramientas\referencias y en opción pone FALTA", me equivoque, quería decir que no pone FALTA en ninguna opción.

Esa librería que indica rokoko (Microsoft Outlook 14.0 Object Library) también la activé pero nada.


Editado por Nomada - 13/Enero/2018 a las 10:35
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 1107
Enlace directo a este mensaje Enviado: 13/Enero/2018 a las 10:20
Lo he probado y me ha funcionado, pero creo que algo tienes mal en el codigo tambien.

me funciona si

DoCmd.SendObject acSendForm, informePruebaEnvio, acFormatPDF, "xxxx@yahoo.es", "", "", "Asunto pdf", "Cuerpo mensaje", False, ""   'False o true, para enviar directo o se abra outlook

Lo que si me ocurre es que si tengo True el mensaje se queda en la bandeja de salida del outlook y hasta que no lo habres no lo envia.

Este es el codigo que utilizo yo en access 2003 y si que lo envia

'TIENE QUE ESTAR ACTIVADA LA REFERENCIA A MICROSOFT OUTLOOK 11 OBJECT LIBRARY si utilizas version 2003 de access

                'Dim OutApp As .Application                           'Esta linea tiene que estar anulada, no se porque pero funciona....
                 Dim OutMail As Outlook.MailItem
                 Set OutApp = CreateObject("Outlook.Application")
                 Set OutMail = OutApp.CreateItem(olMailItem)
                 With OutMail
                  .To = "xxxx@yahoo.es
                  .CC = ""
                  .BCC = ""
                  .Subject = "Asunto mensaje"
                  .Body = "Cuerpo del mensaje"
                  .Attachments.Add varAdjunto  'varAdjunto es la variable con la ruta del archivo
                  .Send    'Si lo activamos nos manda el mail automatico situaldolo en la bandeja salida
                  '.Display  ' nos hace que salga la aplicacion Outlook para editar mensaje

                  End With
                  Set OutMail = Nothing
                  Set OutApp = Nothing



Editado por rokoko - 13/Enero/2018 a las 10:21
Arriba
 Responder Responder Página  12>
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable