powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / определить запущен ли Word?
13 сообщений из 13, страница 1 из 1
определить запущен ли Word?
    #33818636
NLP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NLP
Гость
Подскажите, пожалуйста, как определить, запущен ли на компьютере Word?
Заранее спасибо!
...
Рейтинг: 0 / 0
определить запущен ли Word?
    #33818665
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Public Function Com_GetWordObject() As Object
    On Error GoTo errh
    Set Com_GetWordObject = GetObject(, "Word.Application")
        Exit Function
errh:
    On Error GoTo errh2
    Set Com_GetWordObject = CreateObject("Word.Application")
    Exit Function
errh2:
    Set Com_GetWordObject = Nothing
End Function
...
Рейтинг: 0 / 0
определить запущен ли Word?
    #33818691
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkiades, перемудрил ))
Код: plaintext
1.
2.
3.
4.
5.
6.
Function GetWord() As Object
Dim wrd as Object
    On Error Resume Next
    Set wrd = GetObject(, "Word.Application")
    If wrd Is Nothing Then Set wrd = CreateObject("Word.Application")
    Set GetWord = wrd
End Function
...
Рейтинг: 0 / 0
определить запущен ли Word?
    #33818885
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, а я On Error Resume Next не люблю... ))
...
Рейтинг: 0 / 0
определить запущен ли Word?
    #33819046
NLP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NLP
Гость
спасибо за помощь! Все работает! :-)
...
Рейтинг: 0 / 0
определить запущен ли Word?
    #33819937
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkiades,
Внутри обработчика ошибки присутствует " On Error GoTo "?!
Как же так?!
Что подумает молодое поколение программистов?
...
Рейтинг: 0 / 0
определить запущен ли Word?
    #33820454
GoTo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А, что - GoTo проклятая команда?
Один дурак придумал - не использовать ни где, ни когда и не при каких обстоятелствах, другие же как попугаи подхватили.
...
Рейтинг: 0 / 0
определить запущен ли Word?
    #33820789
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoToА, что - GoTo проклятая команда?
Один дурак придумал - не использовать ни где, ни когда и не при каких обстоятелствах, другие же как попугаи подхватили.
Resume Next - проклятая команда.
...
Рейтинг: 0 / 0
определить запущен ли Word?
    #33820943
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это почему же?
...
Рейтинг: 0 / 0
определить запущен ли Word?
    #33820991
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoToА, что - GoTo проклятая команда?

Дело в том, что использовать в обработчике ошибок "On Error GoTo" бессмысленно. Простой тест
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Public Function Com_GetLabudaObject() As Object
    On Error GoTo errh
    Set Com_GetLabudaObject = GetObject(, "Labuda.Application")
    Exit Function
errh:
    On Error GoTo errh2
    Set Com_GetLabudaObject = CreateObject("Labuda.Application")
    Exit Function
errh2:
    MsgBox "Error"
    Set Com_GetLabudaObject = Nothing
End Function
Будет ли сообщение "Error"?
...
Рейтинг: 0 / 0
определить запущен ли Word?
    #33821000
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот-вот посетитель GoTo уже не понял!
Ничего не понял.
Не об этом речь.
Внутри обработчика ошибки оператор On Error GoTo не используют, ибо в случае ошибки все равно возникнет аварийный стоп.
После того, как программа вывалилась в обработчик по On Error GoTo следующий такой оператор использовать нельзя, пока ошибка не будет обработана и не будет осуществлен возврат/переход по Resume !
Приведенный Melkiades'ом пример работает, потому что в самом обработчике ошибки не возникло, а попробуйте в теле и в обработчике написать что-то типа q=1/0 (вместо Set Com_GetWordObject...) там и там, и посмотрите.
Вообще, я думал Melkiades сразу заметит свой ляп, я думал, он случайно ошибся...
...
Рейтинг: 0 / 0
определить запущен ли Word?
    #33821008
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подрихтую:
"Внутри обработчика ошибки оператор On Error GoTo не используют, ибо в случае возникновения ошибки внутри обработчика ..." далее по тексту.
...
Рейтинг: 0 / 0
определить запущен ли Word?
    #33821038
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мдааа, надо ж было так лажануться.
А я так верил человеку, который написал приведенный мной код... и ведь он работал, зараза.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / определить запущен ли Word?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]