Сохранение файла WORD через COM

1. folo 223 29.10.20 10:41 Сейчас в теме
Добрый день. Не работает SaveAs и SaveAs2 для файла WORD. Все на клиенте.
WORD = Новый COMОбъект("Word.Application");
NewDoc = WORD.Documents.Add(Шаблон);
...
NewDoc.SaveАs2(_ИмяФайла);

показывает ошибку "Метод не найден (SaveAS)".
Причем Save() отрабатывает- выводит запрос на сохранение и сохраняет.
Кто нибудь встречался с такой фигней ?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
14. folo 223 29.10.20 15:28 Сейчас в теме
Вопрос решился так : шаблон копируется в нужный файл, именно он открывается, заполняется и сохраняется через Save .
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user856012 13 29.10.20 10:53 Сейчас в теме
(1)
показывает ошибку "Метод не найден (SaveAS)"
Значит, для новых (не существующих) документов этот метод недоступен.

Что, собственно, подтверждается документацией:
Saves the specified document with a new name or format.

В данном случае "specified document" не существует.
3. folo 223 29.10.20 10:56 Сейчас в теме
Согласен. Но есть всего 3 метода Save, Saveas и Saveas2
SAVE выводит диалог сохранения. Остальные как Метод не обнаружен.
В этом то и проблема.
4. SlavaKron 29.10.20 11:16 Сейчас в теме
SaveAs2 должен работать. Какая версия Word и какая ошибка при использовании SaveAs2?
5. folo 223 29.10.20 11:22 Сейчас в теме
12. SlavaKron 29.10.20 12:20 Сейчас в теме
(5) Проверил у себя - тоже 2016. Всё работает:
Word = Новый COMОбъект("Word.Application");
	
Документ = Word.Documents.Add();
	
Документ.SaveAs2("D:\Test.docx");
	
Word.Quit();

Да, ошибку по SaveAs2 так и не указали.
6. KVIKS 399 29.10.20 11:38 Сейчас в теме
Делал так COMСоединение.ActiveDocument.SaveAs(ИмяВременногоФайла);
7. folo 223 29.10.20 11:51 Сейчас в теме
(6)
COMСоединение.ActiveDocument.SaveAs(ИмяВременногоФайла);

Та же ошибка. Пробовал.
8. KVIKS 399 29.10.20 12:16 Сейчас в теме
Может сразу тип сохранения указывать
Документ.SaveAs(ИмяRTF,17);
13. SlavaKron 29.10.20 12:25 Сейчас в теме
(8) SaveAs для 2003 офиса. Для документа Word 2016 такого метода нет: https://docs.microsoft.com/ru-ru/office/vba/api/word.document
akR00b; b100; +2 Ответить
9. folo 223 29.10.20 12:17 Сейчас в теме
Указал 0 - документ DocX - Не помогает.
10. folo 223 29.10.20 12:19 Сейчас в теме
Может проблема быть в какой нибудь безопасности 1с? Не дает файлы сохранять в фоновом режиме даже через COM?
11. folo 223 29.10.20 12:20 Сейчас в теме
14. folo 223 29.10.20 15:28 Сейчас в теме
Вопрос решился так : шаблон копируется в нужный файл, именно он открывается, заполняется и сохраняется через Save .
15. b100 30.10.20 17:33 Сейчас в теме
Конструкция для Офис 2013

MSWord = Новый COMОбъект("Word.Application");
MSWord.Documents.add(); //Тут можно в скобках вставить путь к шаблону
Документ = MSWord.Application.Documents(1);
Документ.Activate();

-- /// --- /// --- //Редактируете документ

Документ("ИмяДокумента").Save()
MSWord.Application.Visible = Истина;
MSWord.Activate();
MSWord.application.Quit();

Делать нужно на клиенте !! Иначе будет ошибка записи.
16. b100 30.10.20 18:10 Сейчас в теме
(15)

Только не: Документ("ИмяДокумента").Save()

Документ.Save(); - Сохранить открытый
Документ.SaveAs(); - Сохранить как
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот