|
Активное окно MS Word 2007. Как лучше сделать? | ☑ | ||
---|---|---|---|---|
0
dva1c
04.07.13
✎
12:23
|
Из карточки сотрудника формируется печатная форма в MS Word2007. После формирования MS Word2007 остается в трее Windows.
Для наглядности см. ссылку http://savepic.org/3867765.jpg Все работало, но сегодня был выполнен переход на "ферму" из 2-х серверов. Там установлен Word2007 (раньше был Word2003). После окончания формирования файла Word, он остается в трее, а не активизируется. Поиск дал ссылки: v8: 1C+WORD, Разбираю пример v8: Как сделать окно MS Word активным при печати из 1С? Книга знаний: v8: Заполнение полей документа Word (шаблон Active Document) http://msdn.microsoft.com/en-us/library/bb221340(v=office.12).aspx Вопрос: как сделать без "костылей" (на скриншоте это "Предупреждение"), чтобы сформированный документ, явно показывался на экране (был активным) Сам текст обработки: Попытка Договор = ПолучитьМакет("Макет"); ОбъектWord = Договор.Получить(); ДокументWord = ОбъектWord.Application.Documents(1); ДокументWord.Activate(); Исключение Сообщить(ОписаниеОшибки(),СтатусСообщения.ОченьВажное); Возврат Неопределено; КонецПопытки; СоздатьИЗаполнитьТЗподстановок(); Для Каждого Стр ИЗ ТЗп Цикл ПоискИЗаменаВВорде(ДокументWord,Стр.Шаблон,Стр.СтрокаЗамены); КонецЦикла; ОбъектWord.Application.Visible = 1; ОбъектWord.Activate(); Предупреждение("Создан документ Microsoft Word, он открыт, но его не видно. Поищите его в панели!!!", 60, "***ВНИМАНИЕ***"); Возврат Неопределено; |
|||
1
dva1c
04.07.13
✎
12:32
|
Мне что-то, не совсем понятно: что нужно сделать, чтобы окно Word активизировалось.
Подскажите знающие коллеги! Заранее спасибо! |
|||
2
dk
04.07.13
✎
12:36
|
ОбъектWord.ActiveWondow.Activate();
|
|||
3
dk
04.07.13
✎
12:37
|
ОбъектWord тип какой?
|
|||
4
dva1c
04.07.13
✎
12:47
|
(2) ОбъектWord.ActiveWindow.Activate() не помогло.
(3) ОбъектWord - это макет ActiveDocument |
|||
5
dk
04.07.13
✎
12:52
|
прям в отладчике какой тип пишет у ОбъектWord
|
|||
6
dva1c
04.07.13
✎
12:54
|
(5) Сейчас посмотрю отладчиком )
|
|||
7
dva1c
04.07.13
✎
13:05
|
(5) ОбъектWord - это ComOбъект.
|
|||
8
dva1c
04.07.13
✎
13:08
|
(5) Сделать ОбъектWord.ActiveWindow.Visible = Истина?
Сейчас оно Ложь. |
|||
9
dva1c
04.07.13
✎
13:12
|
Попробовал (8). Мимо денег (
Что можно попробовать? |
|||
10
skunk
04.07.13
✎
13:13
|
||||
11
dva1c
04.07.13
✎
13:14
|
(10) Спасибо! Проверяю.
|
|||
12
dk
04.07.13
✎
13:15
|
раз непонятно что там в ОбъектWord
то ОбъектWord.Application.ActiveWindow visible и activate попробовать не люблю конструкцию ОбъектWord = Договор.Получить(); возвращает какой-то недоделанный объект |
|||
13
dva1c
04.07.13
✎
13:17
|
(12) А как верно?
(10) Выругалось на {ВнешняяОбработка.ТрудовойДоговор.МодульОбъекта(328)}: Поле объекта не обнаружено (WindowState) ОбъектWord.WindowState = 2; |
|||
14
MiniMuk
04.07.13
✎
13:25
|
ОбъектWord = Договор.Получить();
макетом ты получаешь документ а не ворд корректнее будет документ = Договор.Получить(); ОбъектWord = документ .Application Если докуметы ворда открыт то по идее конструкция .Documents(1); берет первый документ открытый этой СОМ-моделью ворда. |
|||
15
skunk
04.07.13
✎
13:28
|
ДокументWord.ActiveWindow.WindowState
|
|||
16
George Wheels
04.07.13
✎
13:32
|
Свернуть, развернуть окно?
|
|||
17
dva1c
04.07.13
✎
13:53
|
Спасибо за рекомендации. Проверяю (15)
|
|||
18
dva1c
04.07.13
✎
14:03
|
Большое спасибо за помощь (век живи - век учись)!
Вот код: Попытка Договор = ПолучитьМакет("Макет"); Документ = Договор.Получить(); //ОбъектWord ОбъектWord = Документ.Application; ДокументWord = ОбъектWord.Application.Documents(1); ДокументWord.Activate(); Исключение Сообщить(ОписаниеОшибки(),СтатусСообщения.ОченьВажное); Возврат Неопределено; КонецПопытки; СоздатьИЗаполнитьТЗподстановок(); Для Каждого Стр ИЗ ТЗп Цикл ПоискИЗаменаВВорде(ДокументWord,Стр.Шаблон,Стр.СтрокаЗамены); КонецЦикла; ОбъектWord.Application.Visible = 1; ОбъектWord.Activate(); ОбъектWord.WindowState = 2; ОбъектWord.WindowState = 1; |
|||
19
skunk
04.07.13
✎
15:08
|
ОбъектWord.Application.Visible = 1;
ОбъектWord.Activate(); уже не нужно |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |