Имя: Пароль:
1C
 
Как передать фокус Word.application
0 kshell
 
14.12.09
14:54
Господа эксперты, никак не могу отыскать, как передать фокус созданному документу Word, т.е. не просто открыть документ word, а чтоб он "заслонил" собой 1с
Все подряд уже в код пихаю-реакция: мигание окна в панели.

Пробовал следующее:
   ДокумВорд=Word.Documents.open("XXXXXXX.doc");
   
   ДокумВорд.Application.ActiveWindow.Visible = Истина;
   
   ДокумВорд.Activate();
   ДокумВорд.Application.Activate();
   ДокумВорд.Application.WindowState=1;
   ДокумВорд.setFocus();

Может кто знает отгадку?
1 dk
 
14.12.09
14:55
visible = true
2 Scooter
 
14.12.09
14:56
скриптом активизируй окно ворда
3 dk
 
14.12.09
14:56
Word.visible = true
4 Scooter
 
14.12.09
15:00
Объект WshShell
Методы
AppActivate
Синтаксис:

AppActivate(<Title>)

Назначение:

Активизирует указанное окно какого-либо приложения. Возвращает True в случае успеха и False в случае неудачи.

Параметры:

<Title> - заголовок окна приложения или идентификатор процесса.

Описание:

Если в качестве параметра указан заголовок окна приложения, значение параметра сравнивается по очереди с заголовками окон всех запущенных приложений. Если не найдено ни одного точного совпадения, будет производиться поиск окна, заголовок которого начинается с указанной строки. Если и в этом случае не будет найдено ни одного подходящего окна, будет производиться поиск окна, заголовок которого заканчивается на указанную строку. Если будет найдено несколько подходящих окон, произойдёт активизация одного из них (произвольно).

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("notepad")
WScript.Sleep 2000
Res = WshShell.AppActivate(WshExec.ProcessID)
If Res Then WshShell.SendKeys("0123456789")


© 2004 http://small.h12.ru
5 kshell
 
14.12.09
15:00
Word.visible = true не помогает (в моем коде уже есть ДокумВорд.Application.ActiveWindow.Visible = Истина;)

word.visible только сделает ворд видимым, но не активизирует его. Активной остается 1с.
еще предложения?
6 kshell
 
14.12.09
15:02
а в (4) разве в 1с
Set WshShell = CreateObject("WScript.Shell") выполниться?
7 Scooter
 
14.12.09
15:06
(6)http://www.script-coding.info/MSScriptControl.html
это для 77 для 8.0(8.1) переведи сам
8 kshell
 
14.12.09
19:04
не получается пока что-то...
а можно как-то у моего ДокумВорд узнать ProcessID?
9 kshell
 
15.12.09
06:26
вопрос все еще актуален...
10 b_ru
 
15.12.09
08:56
Собственно

Word.Visible = True
Word.Activate
11 b_ru
 
15.12.09
08:57
+(10) а в 1с

Word.Visible = Истина;
Word.Activate();
12 kshell
 
15.12.09
10:50
решение в (11) не подходит - я такое изначально пробовал.
Окно мигает, но само не разворачивается.
Основная теорема систематики: Новые системы плодят новые проблемы.