![]() |
![]() |
![]() |
|
ЗУП 2.5 - как сделать чтобы спрашивало "Сохранить как" при выводе в Word? | ☑ | ||
---|---|---|---|---|
0
RomaH
naïve
04.02.15
✎
10:07
|
Попытка
АктивныйДокумент = ПолучитьМакет("МакетПриемник"); Исключение Сообщить(ОписаниеОшибки()); Сообщить("Не удалось создать объект ворда"); Возврат Неопределено; КонецПопытки; КомОбъект = АктивныйДокумент.Получить(); КомОбъект.Activate(); КомОбъект.Application.Visible = Истина; вроде как после этого видим не активный документ ворда но он не спрашивает про сохранить если его закрыть - а надо что бы спрашивал что написать? |
|||
1
RomaH
naïve
04.02.15
✎
23:35
|
вверх
|
|||
2
marvak
04.02.15
✎
23:37
|
(0)
а есть там в КомОбъект-е флаг того что документ Ворда модифицирован? |
|||
3
marvak
04.02.15
✎
23:37
|
может установить признак изменения документа?
|
|||
4
Бертыш
05.02.15
✎
03:13
|
Вот только-только хотел такого же плана создать тему
Я вот в коде юхзал WordApp=Новый COMОбъект("Word.Application"); NewDoc=WordApp.Documents; Doc=NewDoc.Add(ИмяФайла); и у меня возникла проблема как показать юзеру документ или сразу открыть диалог печати. Размещаю сюда. Вдруг кто-то Вам отвечая ответит и мне. Я так макет засовывааю во временный файл, а потом с ним пытаюсь работать. Так то в WinWord завсегда можно было подсмотреть через запись макросов как и чего делать, а сейчас талантаасы из компании майкрософт так всё запутаали что фиг доберёшься до VBA и записи макросов |
|||
5
Cube
05.02.15
✎
04:47
|
(0) Документ.Saved = Ложь;
|
|||
6
Cube
05.02.15
✎
04:53
|
+(5) А Документ у меня добавляется так (перекладывая на твой код):
Документ = КомОбъект.Documents.Add(); Но ты, наверное, можешь поклпаться в Documents и получить первый как-то так: Документ = КомОбъект.Documents[0]; Просто у меня код текст из макета копирует в буфер, создает новый документ Word и вставляет туда из буфера. Не помню, зачем так сделано (кажется из-за того, чтобы заголовок окна Word красивым был). |
|||
7
Cube
05.02.15
✎
04:55
|
(4) "как показать юзеру документ"
Ответ есть в (0), добавив пару строк, можно и на втрой твой вопрос ответить одним махом: Если НаПринтер Тогда Doc.PrintOut(Истина, , , , , , , КоличествоКопий, , , , Истина); Doc.Close(); Иначе WordApp.Visible = Истина; WordApp.Activate(); КонецЕсли; |
|||
8
Бертыш
05.02.15
✎
08:44
|
(7) Спасибо
|
|||
9
RomaH
naïve
05.02.15
✎
15:19
|
(6) нафига add?
АктивныйДокумент = ПолучитьМакет("МакетПриемник"); вроде этого достаточно если Add - он же чистый будет - в него придется копировать к стати вот это у меня не работает WordApp.Visible = Истина; WordApp.Activate(); визибл делает, а активировать - не активирует - так и висит в панесли задач свернутым |
|||
10
Масянька
05.02.15
✎
15:21
|
(9) У меня активирует:
// активируем Word мWord.Visible = 1; мWord.Application.WindowState = 2; мWord.Application.WindowState = 1; |
|||
11
RomaH
naïve
05.02.15
✎
15:30
|
мWord.Application.WindowState = 2;
мWord.Application.WindowState = 1; из-за этого? это что за стэйт? |
|||
12
Масянька
05.02.15
✎
15:35
|
(11) Не помню я уже. Где-то в инете нарыла. До этого было
WordApp.Visible = Истина; WordApp.Activate(); - не активировалось. |
|||
13
repin_mike
05.02.15
✎
16:28
|
application.DisplayAlerts = true
|
|||
14
Cube
06.02.15
✎
04:28
|
(9) "нафига add?"
Дочитать пост до конца не судьба? |
|||
15
Бертыш
19.02.15
✎
02:39
|
(14) Может раз уж Вы такой замечательные знаток объектной модели офиса подскажете и по Excel?
Есть такой вот примерно файлик (по ссылке скриншот) https://yadi.sk/i/17reMROQemTzD там организованы группы с вложениями. Я хорошо знаю как обработать линейный файл в Excel, но как выбрать всяческие свернутые группы строк и их начинку я не знаю. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |