2010-09-29 3 views
0

Mon application Excel envoie des mises à jour par e-mail à l'aide de Lotus Notes et je n'arrive pas à trouver un moyen rapide et fiable de garantir que l'utilisateur est connecté à Notes.Comment puis-je tester si l'utilisateur est connecté à Lotus Notes à l'aide de VBA?

Si l'utilisateur n'est pas connecté à Notes avant d'effectuer une opération qui appelle Notes, le code est bloqué sur Set NotesDocument = NotesMailFile.CreateDocument alors qu'Excel attend que l'utilisateur se connecte à Notes. Malheureusement, Notes peut parfois démarrer "sous" Excel et tout l'utilisateur voit est un curseur de minuteur, laissant à penser que l'emailing prend juste un peu de temps. Une partie de l'opération expire après 20 secondes environ, ce qui génère une erreur dans Excel. Bien que je puisse gérer cela comme une manière kludgey de déterminer si Notes est en cours d'exécution, cela prend du temps.

Je pensais que l'utilisation AppActivate ("Notes") mais alors que cela confirme l'application est en cours d'exécution, il retourne encore true même s'il n'y a personne ne connecté.

Ce que j'espérais vraiment teste la disponibilité de certains Domino objet qui ne sera disponible que si l'utilisateur est connecté, mais cela ne déclenchera pas la boîte de dialogue de connexion Notes, donc je peux tester avant même d'essayer le code email.

Répondre

0

Peut-être que quelque chose comme ça va fonctionner?

Dim session As New NotesSession 
Dim username As String 
username = session.EffectiveUserName 
Questions connexes