Word Field CardText ограничение

Мне нравится идея, что Word в некоторых сценариях произносит для меня число следующим образом:

{ REF BookmarkName \* CardText }

Тем не менее, когда я пытаюсь указать общую цену предложения, он не может этого сделать, если значение слишком велико. Кто-нибудь знает, где предел? Есть ли способ преодолеть это?

Спасибо;-)

1 ответ

Эта особенность восходит к 1990 году, когда суммы, с которыми работали люди, были гораздо скромнее, чем сейчас. Действительно, перед десятичной запятой есть встроенное ограничение в шесть цифр: 999'999 - это наибольшее целое число, которое имеет переключатель поля \* cardtext поддерживает.

Возможно иметь более высокие числа, но это требует объединения кодов полей, чтобы обойти ограничение. Много, много лет назад группа из нас на форуме Word на Compuserve нашла способ сделать это, и я разместил его на своем веб-сайте ( http://homepage.swissonline.ch/cindymeister/NbrFAQ.htm). Я копирую это дословно, ниже:

Существуют специальные переключатели форматирования, которые позволяют отображать число в виде текста, с или без "долларов". (Дополнительные сведения о переключателях форматирования чисел см. В разделе "Переключатели"; "Переключатели полей; числовые форматы" в справочном указателе Word.) Но программа ограничена отображением информации для чисел менее одного миллиона. Чтобы отображать суммы в миллионах в виде текста, необходимо использовать комбинацию вложенных полей. Пример:

{ QUOTE { = SET n 1999999 }
   { IF n < 1000000 "{ = n \*cardtext }" "{ = int(n/1000000) \* cardtext } million 
     { SET r { = MOD(n, 1000000) } }
     { IF r = 0 "" "{ = r \* cardtext }" }" 
   } \* caps \* CharFormat 
}  

Показывает один миллион девятьсот девяносто девять тысяч девятьсот девяносто девять.

QUOTE поле держит все вместе. Номер, с которым вы хотите работать, добавлен в закладки SET поле. Затем вы проверяете, больше ли число, чем миллион. Если это так, разделите его на миллион, а затем получите целое число этого результата для слов в миллионах. Далее определите остаток и получите текст для него.

Примечание. Разрывы строк в разделе кода предназначены только для удобства чтения! Весь код поля должен быть создан без разрывов строк.

Для тех, кто не знаком с работой с полевыми кодами в Word:

  • Вставьте квадратные скобки, используя { }, используя Ctrl+F9; Вы не можете вводить их любым другим способом!
  • Соблюдайте одиночные пробелы вокруг операторов, таких как =, >, <
  • Используйте Alt+F9 для переключения между кодами поля и результатом поля
  • Нажмите на поле (установить) и нажмите F9, чтобы принудительно обновить результат поля
Другие вопросы по тегам