|
Программно развернуть Окно Word | ☑ | ||
---|---|---|---|---|
0
Knowledge
17.08.14
✎
20:28
|
Заполняю макет отчета (activedocument)- формат Word.
Окно Word остаётся свёрнутым. Как его программно развернуть? Ос –Windows 7. В интернете есть информация,я пробовал, что нашёл – не помогло. Тема, наверное, старая, но решения я не нашел. Процедура СформироватьОтчет() //инициализация Попытка Макет = ПолучитьМакет("Макет_doc"); MSWord = Макет.Получить(); Инициализация = Истина; Исключение Сообщить("MSWord не подключен. " + ОписаниеОшибки(),СтатусСообщения.Важное); КонецПопытки; Doc = MSWord.Application.Documents(1); Doc.Activate(); ЗаполнитьПараметрыДокумента(Doc); MSWord.Application.Visible= Истина; MSWord.Application.WindowState = 2; MSWord.Activate(); КонецПроцедуры |
|||
1
Myti
17.08.14
✎
20:34
|
WSHShell = СоздатьОбъект("WScript.Shell");
WSHShell.SendKeys("%"); WSHShell.SendKeys("{LEFT}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}"); |
|||
2
Knowledge
17.08.14
✎
20:52
|
WSHShell = Новый COMОбъект("WScript.Shell");
WSHShell.SendKeys("%"); WSHShell.SendKeys("{LEFT}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}"); Как это отнести к окну Word? |
|||
3
Knowledge
17.08.14
✎
21:10
|
Вот что работает:
MSWord.Application.WindowState = 2;//свернуть MSWord.Application.WindowState = 1;//развернуть |
|||
4
Knowledge
17.08.14
✎
21:11
|
т.е. нужно 2 раза подряд: свернуть, потом развернуть.
|
|||
5
osa1C
17.08.14
✎
21:21
|
Иногда (особенно это актуально для пользователей, которые работают через терминальное подключение к серверу), окно Microsoft Word открывается, но оказывается либо минимизированным, либо свернутым, либо окно 1С перекрывает его. Соответственно пользователь окно Word не видит.
Ниже приведу два способа, позволяющие «выгнать» окно Word на передний план. 1. У объекта Application есть свойство WindowState, которое возвращает или устанавливает состояние окна документа, которое может принимать три значения: Normal, Maximized и Minimized (в значениях 1С - это 0, 1 и 2 соответственно). Суть данного способа сводится к тому, чтобы свернуть и снова развернуть окно. ОбъектВорд.Application.Visible = Истина; ОбъектВорд.Application.WindowState = 2; ОбъектВорд.Application.WindowState = 1; 2. Второй способ является продолжением первого, но в этом случае мы сворачиваем все активные окна и разворачиваем все имеющиеся окна MS Word. Оболочка = Новый COMОбъект("Shell.Application"); Оболочка.MinimizeAll(); ОбъектВорд.Visible = -1; Окна = Документ.Windows; Для Сч = 1 По Окна.Count Цикл Окно = Окна.Item(Сч); Окно.WindowState = 1; КонецЦикла; ОбъектВорд.Activate(); |
|||
6
Knowledge
17.08.14
✎
21:39
|
(5) да именно там я это и нашел
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |