Я написал Excel VBA, чтобы проверить, запущен ли какой-либо экземпляр Word, но возникают некоторые проблемы.
- Если я открываю Word без открытия документа, строка
If Err.Number = 0 Then wdAppRunning = True
возвращает False
.
Открыть слово через Windows Пуск
Открытый экземпляр Word.
Если в фоновом процессе выполняется экземпляр Word, строка также возвращает
False
. Если я открою Word, создаю или открываю документ, а затем запускаю макрос, он возвращает ожидаемый результат (
True
)
Как управлять кодом, чтобы идентифицировать хотя бы ситуацию n ° 1?
Ps .: код, размещенный в ссылке Получение экземпляров Word и сохранение документов возвращает ту же ситуацию.
Sub wdAppRunning()
Dim wdApp As Object
Dim wdAppRunning As Boolean
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
If Err.Number = 0 Then wdAppRunning = True
MsgBox wdAppRunning
Set wdApp = Nothing
End Sub