
Тип документа, который я имею в виду, — это заявка или контракт. Он содержит много значений, таких как цены и даты, разбросанных по тексту. В течение многих лет я использовал поля DOCPROPERTY, чтобы избежать копирования и вставки, когда они одинаковы (например, окончательная цена может встречаться в документе 10 или 20 раз). Но я думаю, что это может пойти еще дальше, так как было бы проще, если бы некоторые значения можно было вычислять из других.
Например, используя синтаксис поля {DOCPROPERTY "final_price"}, я могу ссылаться на это свойство, как определено в свойствах документа.
Кроме того, синтаксис поля {=100*1.07} даст результат 107.
Однако если я попробую это: {={DOCPROPERTY "final_price"} * 1.07}, в различных конфигурациях фигурных скобок и квадратных скобок, все, что я получу, — это синтаксические ошибки.
Документации мало. Может кто-нибудь помочь?
решение1
Обязательно создайте правильные коды полей, один внутри другого, например:
- Нажимать
CTRL + F9
- Вставьте
=*1.07
между скобками - Нажмите между
=
и*
- Нажмите
CTRL + F9
еще раз - Вставьте
DOCPROPERTY "final_price"
между скобками - Нажмите
Alt + F9
, чтобы переключить коды полей - Нажмите
F9
, чтобы обновить поле
решение2
Посмотрите на надстройку Word на www.wordequate.com. Она позволяет производить вычисления в реальном времени с помощью редактора формул Word.
решение3
После некоторых дополнительных поисков я пришел к другому решению. Мне не удалось заставить работать DOCPROPERTY, но эти шаги работают:
поместите числовые значения в конец документа
добавьте каждую из них в закладки, дав им описательные имена
формулы теперь работают с именами закладок как с «переменными»\
сделать числовые значения невидимыми (например, установив цвет шрифта), чтобы они не отображались при печати.
Я думаю, было бы более элегантно использовать DOCPROPERTY, если кто-то сможет заставить его работать, поскольку оставлять невидимый текст в документах неуклюже...