Как я могу проверить, вошел ли пользователь в Lotus Notes с помощью VBA? - PullRequest
0 голосов
/ 29 сентября 2010

Приложение My Excel отправляет обновления по электронной почте с помощью Lotus Notes, и у меня возникают проблемы с поиском быстрого и надежного способа обеспечения того, чтобы пользователь вошел в Notes.

Если пользователь не вошел в Notes до того, как он выполнит операцию, которая вызывает Notes, тогда код остановится на Set NotesDocument = NotesMailFile.CreateDocument, так как Excel ждет, когда пользователь войдет в Notes.

К сожалению, Notes иногда может запускаться «под» Excel, и все, что видит пользователь, это курсор таймера для яиц, что заставляет их думать, что отправка электронной почты занимает немного времени. У некоторой части операции истекает примерно через 20 секунд, и это приводит к ошибке в Excel. Хотя я могу воспринимать это как хитрый способ определения, работает ли Notes, на это требуется некоторое время.

Я думал об использовании AppActivate ("Notes"), но, хотя это подтверждает, что приложение работает, оно все равно возвращает true, даже если никто не вошел в систему.

То, на что я действительно надеялся, так это проверить наличие некоторого объекта Domino, который будет доступен, только если пользователь вошел в систему, но это не вызовет диалоговое окно входа в систему Notes, поэтому я могу протестировать, даже не пытаясь код электронной почты.

1 Ответ

0 голосов
/ 29 сентября 2010

Может быть, что-то подобное будет работать?

Dim session As New NotesSession
Dim username As String
username = session.EffectiveUserName
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...