|
WORD через Com | ☑ | ||
---|---|---|---|---|
0
folo
29.10.20
✎
09:46
|
Добрый день. из 1С не работает SaveAs для файла WORD. Все на клиенте.
WORD = Новый COMОбъект("Word.Application"); NewDoc = WORD.Documents.Add(Шаблон); ... Прекрасно открывает WORD и выводит шаблон. Если вместо вывода задать NewDoc.SaveАs(_ИмяФайла); показывает ошибку "Метод не найден (SaveAS)". Причем Save() отрабатывает- выводит запрос на сохранение. Кто нибудь встречался с такой фигней ? |
|||
1
ДенисЧ
29.10.20
✎
09:47
|
||||
2
folo
29.10.20
✎
09:48
|
Тоже не работает
|
|||
3
mikecool
29.10.20
✎
09:48
|
(1) бгг, а еще на БСП и переименование методов в типовых наезжают
|
|||
4
Волшебник
29.10.20
✎
09:50
|
(3) Так то Microsoft, светоч демократии. Ну конечно не такой, как Apple, но тоже идол
|
|||
5
Василий Алибабаевич
29.10.20
✎
09:50
|
(0) "Метод не найден (SaveAS)"
А он теперь называется SaveAS2 (с двойкой) |
|||
6
ДенисЧ
29.10.20
✎
09:51
|
(2) "Весь взвод-разгильдяи, шагали не в ногу. Один старший сержант Иванщенко молодец, в ногу шагал"...
В смысле - если у всех работает, а у тебя нет, может дело в тебе? |
|||
7
folo
29.10.20
✎
09:51
|
Метод объекта не обнаружен (SaveАs2)
|
|||
8
folo
29.10.20
✎
09:54
|
(6) Готов признать, но кто бы подсказал что во мне не так? Совершенно типовая схема, описанная в тысяче мест у меня не работает.
|
|||
9
Василий Алибабаевич
29.10.20
✎
09:56
|
(8) Давай код от
NewDoc = WORD.Documents.Add(Шаблон); до NewDoc.SaveAs2(); заполнение документа можно опустить. |
|||
10
folo
29.10.20
✎
10:01
|
WORD = Новый COMОбъект("Word.Application");
NewDoc = WORD.Documents.Add(Шаблон); NewDoc.Activate(); Замена = NewDoc.Content.Find; Замена.Execute( "[Номер]",,,,,,,,,Реквизиты.Номер,2); Если СразуВФайл Тогда _ИмяФайла = Строка(КаталогНаДиске+""+Реквизиты.ФамилияИО+" "+_Описание+".Docx"); NewDoc.SaveАs2(_ИмяФайла,0); NewDoc.Close(false); Иначе NewDoc.Application.Visible = Истина; Если NewDoc.ActiveWindow.View.SplitSpecial = 0 Тогда //константа wdPaneNone NewDoc.ActiveWindow.ActivePane.View.Type = 3; //константа wdPrintView равно 3 Иначе NewDoc.ActiveWindow.View.Type = 3; //константа wdPrintView равно 3 КонецЕсли; КонецЕсли |
|||
11
folo
29.10.20
✎
10:29
|
Все слились. Видимо в коде ошибки нет.
|
|||
12
arsik
гуру
29.10.20
✎
11:37
|
(10) Зачем через COM? В БСП примеры есть для работы с Docx без COM. У нас так договора штампуются.
|
|||
13
folo
29.10.20
✎
11:52
|
(12) Спасибо, посмотрю.
|
|||
14
shuhard
29.10.20
✎
12:48
|
(12) +100500 куда проще извлечь из docx xml и с ним работать
Word.Application - вредная затея |
|||
15
Armando
29.10.20
✎
12:55
|
(3) Это другое, вы не понимаете!
|
|||
16
Armando
29.10.20
✎
12:56
|
Советую посмотреть в сторону OpenXML. (12) как раз об этом
|
|||
17
arsik
гуру
29.10.20
✎
13:10
|
Вот минимум который нужен
|
|||
18
folo
29.10.20
✎
15:32
|
Вопрос решился так : Файл шаблона копируется в файл с нужным именем. Именно он открывается в WORD , заполняется и записывается командой Save.
Жаль кучу времени потерял на исследование SaveAS, Saveas2. В чем причина так и не понял. |
|||
19
hhhh
29.10.20
✎
15:38
|
(18) ну может потому что там шаблон, а не файл doc?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |