|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от Thrice
![]() Цитата:
Сообщение от Predatore
![]() Уже почти всё сделал, осталось дело за малым. Подставлять в метки свои значения. Вот тут то у меня и случился затык. Вставляю в Ворде поле с типом DocVariable, даю этому полю имя Name, и как выше описанно пытаюсь его заменить. На выходе ничего не происходит
![]() Вроде как должно всё делаться через DocVariable, но почему-то не делается ![]() Что я делаю не так? когда я делал выгрузку в Word, сделал следующее: 1)взял код из этой темы (агромный респект автору) 2)создал шаблон документа Word, в местах которые требуется заполнять из NAV вставил текст для замены. К примеру Договор компании #CompanyInfo# с #CustomerName# 3)в NAV создал текстовые переменные CompanyInfo = '#CompanyInfo#', CustomerName = '#CustomerName#' 4)вызвал функцию DocReplace(CompanyInfo,CompInfo.Name); DocReplace(CustomerName, Customer.Name); как то так, пишу по памяти, в данный момент далеко от работы. почему делал еще дополнительное присваивание текстовым переменным, уже не помню, вроде без этого не отрабатывало. Но данный вариант работает на практике, жаль что он не сыскал в компании популярности ![]() ![]() |
|
![]() |
#2 |
Участник
|
Как и обещал, другое решение, через переменные. В нём нам понадобится ещё один Automation
'Microsoft Word 11.0 Object Library'.Variable, назовём его WordVar. А функцию ReplaceText перепишем так: ReplaceText(Str : Text[1024];VName : Text[1024]) WordVar := WordDoc.Variables.Item(VName); IF Str <> '' THEN WordVar.Value := Str ELSE WordVar.Value := ' '; Всё, осталось только вставить в Ворде переменные в нужных местах. Делается так, Вставка->Поле, в Категории выбираем "Автоматизация", так быстрее искать, и выбираем DocVariable. Этой переменной даём имя, по которому мы будем к ней обращаться из Нава (VName). Вот и всё. Осталось только после того как будут заполнены все переменные, вызвать функцию WordDoc.Fields.Update; |
|
![]() |
#3 |
Участник
|
Возник ещё один вопрос по работе с Вордом. Если у меня в шаблоне есть табличная часть и естесственно зранее не извсетно, сколько будет строк в таблице. Как в таком случае быть? Как работать с табличной частью в Ворде?
|
|