8.х active document, файл - ms word

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Максим, 6 июл 2011.

  1. TopicStarter Overlay
    Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    Все привет. Работаю с макетом active document, файл - ms word

    Код:
           Попытка
    MSWord = Новый COMОбъект("Word.Application");
    Макет = ПолучитьМакет("Макет"); 
    MSWord = Макет.Получить();
    Документ = MSWord.Application.Documents(1);
    Документ.Activate();
    ...
    MSWord.Application.Visible = Истина;
    MSWord.Activate();
    Исключение 
    MSWord.Application.Quit();
    Сообщить(ОписаниеОшибки());
    Возврат;
    КонецПопытки;
    

    Документ открывается, но при закрытии он не выдает диалог сохранения файла, видимо не стоит признак модифицированости,а жать в документе "сохранить как" не хочется. Как установить признак модифицированости, чтобы при нажатии на кнопку закрыть, в документе, выдавался стандартный диалог - сохранить или нет?
    P.S. Вариант сохранять файл программно не подходит.
  2. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.772
    Симпатии:
    509
    Баллы:
    204
    Может его нужно заполнить какими-нибудь данными?
  3. TopicStarter Overlay
    Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    Он уже заполнен, загрузил в макет заполненным там шесть заполненных листов, причем там где у меня в примере "..." я использовал метод замены, чтобы заполнить параметры:


    Код:
         Замена.Execute("{Контрагент}", Ложь, Истина, Ложь, , , Истина, , Ложь, Контрагент);
    
  4. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    вот позаимствованное решение
    Код:
    Word = Новый COMОбъект("Word.Application");
    
    ИмяВременногоФайла=ПолучитьИмяВременногоФайла();
    
    ИcпользоватьПоиск = Ложь;
    
    Попытка
    АдресСсылки = ПолучитьНавигационнуюСсылку(НастройкиШаблона, "Шаблон");
    ПолучитьФайл(АдресСсылки, ИмяВременногоФайла, Ложь);
    Исключение
    Предупреждение("Проблема при записи файла!");
    Возврат;
    КонецПопытки;
    
    Док = Word.Documents.Add(ИмяВременногоФайла,,,1);
    
    // тут делается структура и она же обходится циклом 
    Замена = Док.Content.Find;
    Замена.Wrap = 1;
    Замена.Execute("["+СтрокаСтруктуры.Ключ+"]", , , , , , , , ,Строка(СтрокаСтруктуры.Значение), 2);	
    
    Док.Fields.Update();
    
    Word.ActiveWindow.View.ShowFieldCodes = 0;
    Word.Visible=1;
    Word.Activate();
    Word.ActiveWindow.WindowState=1;
    Word = Неопределено;
    

Поделиться этой страницей