Probar si Outlook está abierto en VBA

THYBOB -  
 zero22 -
Hola,
Estoy desarrollando una herramienta que eventualmente gestionará las Fichas de Anomalías y las solicitudes de modificación en mi empresa. Me gustaría que, al registrar una ficha de anomalía, se enviara un correo electrónico con un archivo adjunto (eso lo logro). Mi problema es que para que el correo se envíe, Outlook debe estar abierto. Por eso mi pregunta: ¿Cómo puedo comprobar si Outlook está abierto?

Gracias de antemano por sus respuestas,
Configuración: Windows 2000/Excel 2003

5 respuestas

  1. THYBOB
     
    Gracias, funciona al modificar ligeramente tu código. Muchas gracias.

    '
    ' Verificación de la apertura de la mensajería
    '
    Set Appli = CreateObject("Outlook.Application")
    '
    If Appli.Explorers.Count > 0 Then GoTo OutLookEstDemarrer
    MsgBox "Debes iniciar tu mensajería: ¡Ahora!", vbExclamation, "Acción a realizar..."
    GoTo Fin
    '
    ' Podemos comenzar la grabación
    '
    OutLookEstDemarrer:
    9
  2. Rip
     
    Hola,

    Justo estaba probando la apertura de Outlook, me ha servido mucho, gracias. También estoy haciendo una base de datos para la gestión de reclamaciones + constancia de anomalías, gestionando la comunicación automática por correo de las personas involucradas sobre lo que han realizado en el proceso.

    En lugar de pedirle al usuario que abra Outlook, puedes simplemente hacer un Call Shell("Outlook.exe", 1), pero ya lo habías supuesto.

    Eso es todo, ¡viva la colaboración!

    Rip
    3
  3. thev Mensajes publicados 2010 Fecha de registro   Estado Miembro Última intervención   723
     
    voici le test que je pratique :

    Establecer appli_outlook = Outlook.Application Si appli_outlook.Explorers.Count > 0 Entonces appli_outlook.SendOutlookMsg return_msg, SendTo, sCC, sBCC, Subject, BodyText, sAttachment Sino MsgBox "error al enviar el correo electrónico porque Outlook no está cargado" Fin Si 
    2
  4. Anto79
     
    ¡Super, gracias!
    Sin embargo, creo que la función tarda en ejecutarse...

    Anthony.
    0
  5. zero22
     
    Set appli_outlook = Outlook.Application

    if appli_outlook.activewindow is nothing then

    MsgBox "error sending e_mail because Outlook is not loaded"

    end if

    There you go
    0