Помогаем AppActivate найти мою программу - PullRequest
2 голосов
/ 18 июля 2011

Я создал сценарий VBA, который активирует программное обеспечение корпоративной базы данных моей компании и делает снимок экрана с сообщениями об ошибках, чтобы скомпилировать их и отправить их в наш ИТ-отдел, когда они появятся.

Проблема в том, что у него есть 30-процентный шанс не найти программу базы данных.

Я использую AppActivate и повторяю команду с различными вариациями имени.(Я заимствовал этот кусок кода из другого места, когда мой AppActivate отсутствовал 60-70% времени.)

"PROGname v2 - [название пользователя меню включено]" - это имя строки менюпрограмма.Есть ли что-то, что я могу сделать, чтобы захватить это каждый раз?

Sub ActivateWin()
'Activates The Program by window name
    On Error Resume Next          'we ignore all errors until we reach last AppActivate
    AppActivate ("PROG")
    If Err.Number = 5 Then Err = 0:  AppActivate ("PROGname v2")
    If Err.Number = 5 Then Err = 0:  AppActivate ("PRO")
    If Err.Number = 5 Then Err = 0:  AppActivate ("P")
    If Err.Number = 5 Then Err = 0:  AppActivate ("prog")
    If Err.Number = 5 Then Err = 0:  MsgBox "PROGname not found. Please go yell at MYNAME!"
End Sub

1 Ответ

0 голосов
/ 12 августа 2011

Возможно, вы могли бы попробовать другой способ с помощью команды FindWindow (некоторая другая информация здесь ).

Для того, чтобы найти какой класс относится к вашей программеВы можете использовать этот плагин: http://www.xcelfiles.com/API_06.html или вдохновляться кодом и настраивать его под свои нужды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...