Консультация № 176139
19.01.2010, 21:01
0.00 руб.
0 11 1
Уважаемые эксперты подскажите в следующем, как сделать видимой, то есть выше всех окон открытую программу
If Tasks.Exists(Name:="КУСП") = True Then ....... ‘сделать видимой
Спасибо Эндрю

Обсуждение

Неизвестный
19.01.2010, 22:41
общий
Ципихович Эндрю:
А где и на чем работаем?
Неизвестный
20.01.2010, 04:05
общий
Patriotix-N:
Дословный ответ:
работаю в РФ, на компьютере
А если серьёзно
есть программа ну например КУСП, она узкого применения известна малому количеству людей, запускается файлом КУСП.exe
Просто она на у меня в локальной сети и есть у меня макрос он открывает эту программу, запускается он по кнопке
Но если она уже запущена, а я макросом её снова запускаю, выдаётся сообщение от самой программы КУСП уже запущено
Вот и нужно, чтобы мой макрос если КУСП не запущено запустил его, а если запущено сделал его видимым
То есть по аналогии с объектами совместимыми с Вордом это выглядит так:
Dim objWord As New Word.Application 'создаем новое окно Word
objWord.Visible = True 'для наглядности новое окно Word, можно сделать видимым
Но в моём случае:Dim objWord As New КУСП.Application 'создаем новое окно
Это не работает, подскажите как будет правильно???

Неизвестный
20.01.2010, 15:42
общий
Ципихович Эндрю:
Попробуйте "shell"
Shell "notepad", vbMaximizedFocus
Вместо пути можно вбивать известные системе имена(notepad, regedit ...). Это аналог функции Windows - выполнить.
давно
Профессор
230118
3054
23.01.2010, 20:55
общий
это ответ
Здравствуйте, Ципихович Эндрю.

If Tasks.Exists(Name:="КУСП") = False Then
Shell "E:\MY_DOCS\rfpro\kp.exe", vbNormalFocus
Else
Tasks.item("КУСП").Activate
End If
Неизвестный
24.01.2010, 12:54
общий
Гаряка Асмик:
Дословно я сделал так:
If Tasks.Exists(Name:="КУСП") = False Then
Shell "C:\Program Files\КП\kp.exe", vbNormalFocus 'путь, согласно того, что в имени пути файл Экзешный запускается приложение с именем ...
Else: Tasks.Item("КУСП").Activate 'в противном случае сделать ...
End If
Увы задача КУСП активным окном не становится.
давно
Профессор
230118
3054
24.01.2010, 13:14
общий
Ципихович Эндрю:
Не может быть. Должна.
Неизвестный
24.01.2010, 14:10
общий
Гаряка Асмик:
Увы нет, не становится активным окном
давно
Профессор
230118
3054
24.01.2010, 14:17
общий
Ципихович Эндрю:
Значит, название написано неверно.
Неизвестный
26.01.2010, 18:47
общий
Гаряка Асмик:
Как же может это быть: в конструкции
Иф
Эльзе
Энд Иф
Название программы написано одно и то же: "КУСП"
Но первую часть конструкции делает, а вторую нет???
Неизвестный
27.01.2010, 09:23
общий
Гаряка Асмик:
Как же может это быть: в конструкции
Иф
Эльзе
Энд Иф
Название программы написано одно и то же: "КУСП"
Но первую часть конструкции делает, а вторую нет???

давно
Профессор
230118
3054
19.02.2010, 14:59
общий
Ципихович Эндрю:
Tasks.item("КУСП").Activate Работает в том случае, если мы переключились на другую программу. Если КУСП была минимизирована, тогда надо добавить
If Tasks.Item("КУСП").WindowState = wdWindowStateMinimize Then 'условие, если задача КУСП свёрнута тогда развернуть её
Tasks.Item("КУСП").WindowState = wdWindowStateNormal
Форма ответа