|
|
|
Заполнение документа Word | ☑ | ||
|---|---|---|---|---|
|
0
Alf006
04.12.07
✎
19:23
|
Заполняю значениями поля Договора.
Код следующий: Процедура ЗаполнитьШаблон_(ПараметрыЗаполнения,Каталог,ОбъектШаблон,ИмяДоговора="Договор",Открыть=Истина,Сохранить=Истина) Экспорт Перем ТекДок; objWord = Новый COMObject("Word.Application.11"); objWord.Documents.Add(ОбъектШаблон);//, Ложь,, Истина); Для Каждого Параметр Из ПараметрыЗаполнения Цикл ИмяПараметра = Параметр.Ключ; ЗначениеПараметра = Параметр.Значение; objWord.Application.Selection.Find.Execute("<"+ИмяПараметра+">", Ложь, Истина, Ложь,,,Истина,,Ложь,ЗначениеПараметра); Сообщить(ИмяПараметра+" "+ЗначениеПараметра); КонецЦикла; objWord.Application.ActiveDocument.SaveAS(Каталог+"\"+ИмяДоговора+".doc"); objWord.Visible = Истина; objWord.Activate(); objWord.Quit(); КонецПроцедуры//ЗаполнитьШаблон_ //---------------------- Так вот, - Процедура находит заполняет лишь первое в цикле значение. В чем может быть дело, кто подскажет? Заранее благодарен! |
|||
|
1
ТелепатБот
гуру
04.12.07
✎
19:23
|
||||
|
2
Alf006
04.12.07
✎
19:24
|
В том то вся и фишка, что шаблон Договора не в Макете!
|
|||
|
3
Alf006
04.12.07
✎
23:49
|
По другому говоря, проблема такая:
Если не размещать шаблон в макете, как в Книге Знаний, а хранить в виде документа Word, то приходится использоватьдругие методы. И, соответственно ошибки и все такое... |
|||
|
4
Garkin
05.12.07
✎
00:55
|
Попробуй
objWord.Selection.Find.Execute("<"+ИмяПараметра+">",,,,,,,1,,ЗначениеПараметра,2) |
|||
|
5
smaharbA
05.12.07
✎
01:02
|
за селект надо отстреливать...
|
|||
|
6
Garkin
05.12.07
✎
01:29
|
(5) предложи альтернативу.
|
|||
|
7
Ковычки
05.12.07
✎
01:30
|
(6) нафига ? уже устал порукамбить
|
|||
|
8
Ковычки
05.12.07
✎
01:32
|
да, еще забыл, за активедок надо и анафеме придавать...
|
|||
|
9
Alf006
05.12.07
✎
15:46
|
В конце концов заработал такой код:
Функция ЗаполнитьШаблон(ПараметрыЗаполнения,Каталог,ОбъектШаблон,ИмяДоговора="Договор",Открыть=Истина,Сохранить=Истина) Экспорт Перем ТекДок,ИмяПараметра,ЗначениеПараметра; objWord = Новый COMObject("Word.Application.11"); objWord.Documents.Add(ОбъектШаблон); Для Каждого Параметр Из ПараметрыЗаполнения Цикл ИмяПараметра = Параметр.Ключ; ЗначениеПараметра = Параметр.Значение; objWord.ActiveDocument.Content.Find.Execute("<"+ИмяПараметра+">", Ложь, Истина, Ложь,,,Истина,,Ложь,ЗначениеПараметра); КонецЦикла; objWord.Application.ActiveDocument.SaveAS(Каталог+"\"+ИмяДоговора+".doc"); objWord.Visible = Истина; objWord.Activate(); objWord.Quit(); КонецФункции//ЗаполнитьШаблон() Спасибо всем, кто откликнулся! |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |