Имя: Пароль:
1C
 
Конвертация doc в pdf и последующая отправка документа
,
0 KnightAlone
 
30.03.20
16:08
по мотивам ветки v8: Конвертация doc в pdf и последующая отправка документа через встроенный почтовый.
есть рабочий код формирования файла Word и отправки его почтой, понадобилось отправлять в виде pdf. делаю, как написано в той ветке
Документ.SaveAs(ПолноеИмяФайла, 17, False, "", True, "", False, False, False, False, False);

и обработка зависает, в папке файл создается в pdf. обнаружил, что в процессах висит Word.СохранитьКак, то есть видимо висит процесс ожидания закрытия диалогового окна. не нашел, какой параметр надо поменять, чтобы диалоговое окно не выводилось.

https://docs.microsoft.com/ru-ru/office/vba/api/word.saveas2 тут тоже не вижу
1 Garykom
 
гуру
30.03.20
16:27
(0) сделай перед этим
Документ.Application.Visible = Истина;
2 KnightAlone
 
30.03.20
17:20
(1) теперь разница только в том, что это диалоговое окно видно и оно висит в ожидании. мне нужно чтобы все ушло программно, без всяких окон
вот так идет сохранение в doc

            Документ = ПолучитьМакетНаСервере(СотрРассылки.ИмяМакета);
            Если Документ<>Неопределено Тогда
                имяВременногоФайла = ПолучитьИмяВременногоФайла(".doc");
                Документ.Записать(имяВременногоФайла);            
                Word = Новый COMОбъект("Word.Application");
                КомОбъект = Word.Documents.ADD(имяВременногоФайла);
            Иначе
                Возврат;
            КонецЕсли;
            
            КомОбъект.Variables.Item("ФИО").Value  = "" + СерверныеДанные.ФИО_Дательный;
            
            КомОбъект.Fields.Update();
            
            КомОбъект.SaveAs(имяВременногоФайла,0);
            КомОбъект.Close();
            Word = Неопределено;

пробую сделать в pdf

            Документ = ПолучитьМакетНаСервере(СотрРассылки.ИмяМакета);
            Если Документ<>Неопределено Тогда
                имяВременногоФайла = ПолучитьИмяВременногоФайла(".doc");
                Документ.Записать(имяВременногоФайла);            
                Word = Новый COMОбъект("Word.Application");
                КомОбъект = Word.Documents.ADD(имяВременногоФайла);
            Иначе
                Возврат;
            КонецЕсли;
            
            КомОбъект.Variables.Item("ФИО").Value  = "" + СерверныеДанные.ФИО_Дательный;
            
            КомОбъект.Fields.Update();
            
            КомОбъект.Application.Visible = Истина;
            ИмяБезРасширения = Лев(имяВременногоФайла, СтрНайти(имяВременногоФайла,".") - 1);
            имяВременногоФайла = ИмяБезРасширения+".pdf";
            
            КомОбъект.SaveAs(имяВременногоФайла, 17, False, "", True, "", False, False, False, False, False);  
            КомОбъект.Close();
            Word = Неопределено;

но все стопорится на диалоговом окне "сохранить как", при этом я вижу в папке, что сохранение уже отработало и файл в pdf создан так, как надо
3 Garykom
 
гуру
30.03.20
17:25
(2) и что в этом окне написано? что пишет если нажать сохранить? вот убери ошибку