Имя: Пароль:
1C
 
Активизировать основное окно 1C
, ,
0 trinoo
 
20.01.06
11:21
Работаю с 1С через OLE. Как активизировать основное окно (т.е. вынести на передний план среди других приложений)?
1 Волшебник
 
модератор
20.01.06
11:22
Дай угадаю: Activate()
2 trinoo
 
20.01.06
11:30
Object doesn't support this property or method
3 Волшебник
 
модератор
20.01.06
11:33
(2) Покажи программный код.
4 trinoo
 
20.01.06
11:34
Set OLEConnect = CreateObject("V8.Application")
   OLEConnect.Connect (ConString)
   OLEConnect.Visible = True
5 trinoo
 
20.01.06
11:51
Может как нибудь через виндовский шелл это сделать можно?
6 vde69
 
20.01.06
11:56
а может так

Set OLEConnect = CreateObject("V8.Application")
   obj=OLEConnect.Connect (ConString)
   obj.Visible = True
   obj.Activate()
7 trinoo
 
20.01.06
12:02
OLEConnect.Connect(ConString) возвращает Булево, Истина если соединение прошло успешно, ну и Ложь - иначе
8 trinoo
 
20.01.06
12:12
Может кому пригодиться: если для OLE соединения Visible равно False, потом сделать
Visible = True - 1С появится на переднем плане. Если окно уже было видимым и его пытаемся сделать видимым еще раз - окно на передний план не перемещается. Вывод: если сделать

   OLEConnect.Visible = False
   OLEConnect.Visible = True

окно 1С переместится на передний план.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший