Статьи из блога
Статьи из блога
Число или сумма прописью
Метки: ключи поля | настройка word | поля | программы | число прописью
Воскресенье, 13 августа 2006 г.
Просмотров: 25450
Подписаться на комментарии по RSS
Версия для печати
Знаете ли вы, как можно в текстовом редакторе Word цифры, числа или суммы представить прописью? Например так: 1.290 = Одна тысяча двести девяносто?
ПОЛЯ Word - набор кодов (инструкций), обеспечивающих автоматическую вставку в документ текста, рисунков, номеров страниц и других сведений (из справки MS Word).
Я вижу две возможности: с помощью полей (с соответствующими ключами) Word или воспользоваться готовыми специализированными программами (в том числе и макросами).
Рассмотрим первый вариант.
Широко известен такой способ: создаем или открываем документ и в том месте, где необходимо вывести числовое значение прописью, ставим курсор и нажимаем комбинацию клавиш Ctrl + F9. В тексте появится затененное поле с фигурными скобками:
Внутри фигурных скобок вставьте следующую конструкцию (я показываю вместе со скобками):
{=1290 \*CardText} , где 1290 - это любое ваше число (не забывайте про знак равенства перед числом), \*CardText - это ключ поля (о нем будет сказано ниже).
Затем нажмите клавишу F9. В результате вы увидите представленное прописью ваше число, в данном случае - одна тысяча двести девяносто.
В нашем примере мы использовали ключ \*CardText. У Word множество различных ключей. Естественно, что знать их все на память нереально, да и не нужно. А в случае необходимости можно обратиться на официальный сайт Microsoft в раздел справочной информации.
Этот ключ выводит результат в виде количественных числительных (записанных словами). По умолчанию используются строчные буквы. Можно дополнительно в поле вставить другие ключи, например ключ \* Upper (преобразовывает все буквы в прописные, то есть заглавные), или ключ \* FirstCap (преобразует первую букву первого слова в прописную).
Если вам необходимо вывести число не арабскими цифрами, а римскими, то для этих целей служит ключ \*roman. Здесь тоже есть небольшая хитрость: регистр выводимого числа будет именно такой, каким вы введете ключ \*roman. Если так: \*roman - то и результат будет в строчных буквах, если так: \*ROMAN - то соответственно результат будет выведен заглавными буквами.
Большое количество ключей с описаниями можно увидеть в справочной системе на сайте Microsoft.
Понятно, что использовать в своей работе эти поля не очень удобно, особенно, когда вам нужно очень часто преобразовывать цифры в строки. Здесь на помощь приходят специальные программы, коих много создано.
Я кратко опишу только некоторые программы, которые показались мне достаточно удобными в использовании.
Начну с программы TRANSNUM - число прописью.
Достаточно интересная программа, работающая с MS Word и MS Excel. Полностью самостоятельная программа, становящаяся полупрозрачной, когда вы переносите фокус на редактор.

Корректно работает со всеми версиями Word, кроме Word 2007.
Программа имеет собственную страничку
Другая программа - R2S (Сумма прописью). Программа старенькая и разрабатывалась для конкурсной программы Microsoft Office Extensions. Бесплатная.
Возможности:
Преобразовывает числовой формат суммы вида 123-45 или 123,45 в прописной вида 123-45 (Сто двадцать три рубля 45 копеек) или 123,45 (Ста двадцати трёх долларов 45 центов). Возможные падежи: шменительный, Родительный. Валюты: Рубли, Доллары.
Работает без ошибок с MS Word 2002 (проверено). C версиями Word 2003 и Word 2007 работает только в режиме буферного обмена.
С описанием программы можно ознакомиться и скачать на официальном сайте Microsoft: R2s (сумма прописью) v. 6.0 (Word 95/97/2000)
Следующая программа - макрос Num2String, преобразующая числа в текстовые представления.
Описание здесь.
В принципе позволяет даже вывести на панель инструментов свою кнопку, но при установке выводит сообщения об ошибках в коде макроса. В чем там именно проблема я не разбирался, так как не являюсь специалистом в VB.
И последняя программа, стоящая внимания: DigWord - программа печати числа прописью. Привожу описание с сайта программы:
работает через буфер обмена Windows. Пользоваться так: Вам необходимо скопировать число в буфер, затем запустить DigWord.exe, и, наконец, вставить из буфера продукт преобразования. Для удобства можно программе назначить "горячие" клавиши стандартными средствами Windows.
Сайт программы: DigWord.
Нет, все-таки приведу для примера еще одну интересную программу - DigitalToWord - Сумма прописью.

Это платная программа (200 рублей на момент напизания заметки), предназначенная для пользователей, так или иначе постоянно работающих с цифрами. Особенностью программы является возможность проверки ИНН юридических лиц (требуется, если у Вас есть подозрение, что на каком-либо документе напечатан "фальшивый" ИНН).
Адрес сайта: www.oleansoft.com
Надеюсь, что эта статья поможет вам сориентироваться и выбрать наиболее подходящий способ перевода чисел, цифр или сумм в строковые представления.
Если у вас есть дополнения к статье - прошу вас высказаться ниже - в комментариях.
P.S. Один из читателей сайта прислал ссылку на очень простую и функциональную программу, позволяющую выводить число прописью. Программа называется Число прописью 1.5 (Автор: Алексей Таранов). Вот ссылка: http://rus.altarsoft.com/number_in_words.shtml

Поиск
Рубрики
Подписка
Читают
Обсуждают
страницы
сайты
статистика
Комментариев: 10
Num2string у меня заработал. Вначале ругался на security: "Programmatic access to Visual Basic Project is not trusted". Но я сделал, как рекомендуется в Help'е:
The appearance of this message indicates that your Microsoft Visual Basic for Applications project does not have access to the Visual Basic object model. To allow this access, use the following procedure.
- On the Tools menu, point to Macro, and then click Security.
- On the Trusted Sources tab, select the Trust access to Visual Basic Project check box.
Конечно, на один раз создавать поле, чтобы перевести число в слова, не имеет смысла. Можно и вручную напечатать. Зато это очень полезно вместе с формами, например, в шаблоне счёта-фактуры. Определяешь закладку (Bookmark) вокруг поля, в котором отображается общая сумма (например как Sum), а потом используешь её в коде поля (например {=Sum \*CardText}).
Это поле удобно больше в теоретическом плане, нежели в практическом, поскольку имеющиеся ограничения до 99999 не дадут возможность реально им воспользоваться (тем более в счетах фактурах, если Вы конечно не спички продаете).
Кроме того, необходимо слово "рублей " ставить в нужный падеж в зависимости суммы. Указанное поле этого не делает.
Антон Шантаренков
Попробуйте программу Untaco:
http://orlovs.pp.ru/soft.php
Отличается большим количеством настроек (в т.ч. любые падежи) и возможностью автообновления расшифровок.
А можно еще сюда зайти: www.num2word.ru - помойму перевести онлайн легче.
Я решил свою проблему
Пособи за советь
А у меня НЕ пошёл почему то вариент с закладкой: Определяешь закладку (Bookmark) вокруг поля, в котором отображается общая сумма (например как Sum), а потом используешь её в коде поля (например {=Sum \*CardText})
В формуле Sum — это имя функции суммирования, поэтому его нельзя использовать как имя закладки. Но, можно не использовать формулу, просто написать:
{ Sum \*CardText }
Ещё один полезный инструмент в вашу коллекцию http://eng5.ru/translator/numbers
Это и число и сумма прописью.
Советую посмотреть пограмму по формированию в Word'e суммы и даты прописью на сайте www.forpostSoft.ru
Программа качественно отличается от всего о чем здесь говорили ранее.
Позволяет самому настраивать алгоритм формирования результата, считает НДС, есть справочники валют и единиц измерения, можно в любое место результата автоматом вставлять свои текстовые вставки и пр. - почитайте. Буфер и дополнительные окна в работе не используются.
Выдается демо версия и развернутое описание программы.