Форум Академгородка, Новосибирск > Сумма прописью для MS Word версии 2003 и выше
Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сумма прописью для MS Word версии 2003 и выше
Форум Академгородка, Новосибирск > Компьютеры и сети > Программное обеспечение
Smolenkov_BN
СУММА ПРОПИСЬЮ ДЛЯ MS WORD ВЕРСИИ 2003 И ВЫШЕ

Недавно ко мне обратилась соседка с просьбой помочь с шаблоном суммы прописью для MS Word. Посмотрел в Интернет. Нашел бесплатные "багированные" программы типа "Сумма прописью - Форпост"
http://www.forpostsoft.ru/
и умопомрачительные "ограниченные" макросы от "домашних умельцев". Любят наши "программеры" двигаться "окольными путями". Пришлось сделать самому по стандартной методике для MS Office (см. вложение), где вообще макросы не нужны. Аналогичную методику можно применить для любых документов MS Word, включая таблицы. Инструкция прилагается. Дополнительно советую внимательно изучить содержимое для каждого поля. Будут вопросы - пишите в тему.
alex2000
Цитата(Smolenkov_BN @ 14.08.2013, 15:13) *
СУММА ПРОПИСЬЮ ДЛЯ MS WORD ВЕРСИИ 2003 И ВЫШЕ
...

Как Вы любите делать такие глобально обобщающие заявки.
Цитата
1. В окне MS Word, где открыт Ваш финансовый документ, сделайте видимой панель управления формами (панель "Формы"). Для этого установите "галочку" ("v") в меню "Вид">"Панели инструментов">"Формы".

Запустите 2010 Ворд, например, и скажите, как выполнить этот пункт.
Smolenkov_BN
Цитата(alex2000 @ 14.08.2013, 13:31) *
Цитата(Smolenkov_BN @ 14.08.2013, 15:13) *
СУММА ПРОПИСЬЮ ДЛЯ MS WORD ВЕРСИИ 2003 И ВЫШЕ...
Как Вы любите делать такие глобально обобщающие заявки.
В отличие от некоторых, я предварительно проконсультировался о преемственности команд Word 2003 у разработчика - компании Microsoft, предоставив им свои файлы со вставленными полями форм. Специалист из Microsoft подтвердил, что указанные файлы должны нормально обрабатываться во всех последующих версиях.

Цитата(alex2000 @ 14.08.2013, 13:31) *
Цитата
1. В окне MS Word, где открыт Ваш финансовый документ, сделайте видимой панель управления формами (панель "Формы"). Для этого установите "галочку" ("v") в меню "Вид">"Панели инструментов">"Формы".
Запустите 2010 Ворд, например, и скажите, как выполнить этот пункт.
Если уж Вы решили перейти на использование лицензионной версии MS Word 2010, то для начала Вам бы следовало изучить материалы от разработчика:
http://office.microsoft.com/ru-ru/support/HA101794130.aspx
А там конкретно написано, что нужные Вам команды следует искать в меню "Разработчик". Для того, чтобы Вы могли вставлять формы, сначала нужно включить пункт меню "Разработчик", который по умолчанию отключен. Для этого открываем "Настройка ленты", в правом окошке ставим галочку в чекбоксе "Разработчик" и подтверждаем выбор. Чтобы вставить те формы, к которым Вы привыкли в 2003 офисе, переходим в ленте на вкладку "Разработчик", в секции "Элементы управления" нажимаем значек "Инструменты из предыдущих версий" и выбираем нужную Вам форму или элемент ActivX. Ну, а дальше, думаю, сами разберетесь... icon_smoke.gif
В конце концов, на мне свет клином не сходится. У компании Microsoft есть специальный форум на русском языке, где Вы можете задать любые вопросы по офисным продуктам:
http://answers.microsoft.com/ru-ru/office/
alex2000
Цитата(Smolenkov_BN @ 17.08.2013, 2:59) *
Цитата(alex2000 @ 14.08.2013, 13:31) *
Цитата(Smolenkov_BN @ 14.08.2013, 15:13) *
СУММА ПРОПИСЬЮ ДЛЯ MS WORD ВЕРСИИ 2003 И ВЫШЕ...
Как Вы любите делать такие глобально обобщающие заявки.
В отличие от некоторых, я предварительно проконсультировался о преемственности команд Word 2003 у разработчика - компании Microsoft, предоставив им свои файлы со вставленными полями форм. Специалист из Microsoft подтвердил, что указанные файлы должны нормально обрабатываться во всех последующих версиях.

Вы проверили утверждение этого "специалиста"? Уверен, что нет.
Цитата
Если уж Вы решили перейти на использование лицензионной версии MS Word 2010, то для начала Вам бы следовало изучить материалы от разработчика:
http://office.microsoft.com/ru-ru/support/HA101794130.aspx

И где такие глупости находите... jok.gif
Цитата
А там конкретно написано...

Копипаст Вы освоили, это мы знаем и еще раз поздравляем. Хорошим тоном является давать ссылку на ресурс, который Вы процитировали. Будете утверждать, что это Вы сами придумали - ткну носом, откуда это дословно перепостено.
Smolenkov_BN
Цитата(alex2000 @ 17.08.2013, 15:03) *
Вы проверили утверждение этого "специалиста"? Уверен, что нет.
Вы считаете экспертов на форуме корпорации Microsoft "плохими специалистами"? Тогда зайдите туда и пообщайтесь сами, а не используйте меня в качестве "переговорного устройства": ayayay.gif
http://answers.microsoft.com/ru-ru/office/

Цитата(alex2000 @ 17.08.2013, 15:03) *
И где такие глупости находите... jok.gif
Исключительно у производителя. Не размениваюсь на прочую "ерунду" типа Кокина:
http://wordexpert.ru/

Цитата(alex2000 @ 17.08.2013, 15:03) *
Копипаст Вы освоили, это мы знаем и еще раз поздравляем. Хорошим тоном является давать ссылку на ресурс, который Вы процитировали. Будете утверждать, что это Вы сами придумали - ткну носом, откуда это дословно перепостено.
Я всегда цитирую исключительно разработчика. В его документации есть все необходимое для создания любой формы. Надо только собрать до кучи его рекомендации и все выполнить по его технологии. Просто на это не у всех хватает терпения. А теперь скачайте обновленные формы из поста №1 и скажите, откуда я их "копипастеровал"? ayayay.gif
Я там заменил FORMTEXT на ASK/REF/SET/QUOTE, чтобы Вам было удобнее работать. В CardText только один недостаток: "1000" воспроизводится как "Тысяча", а не "Одна тысяча". Но банки принимают платежки, начинающиеся с "Тысяча...", если слово "тысяча" написано с прописной буквы. Если есть желание, можем совместно создать сумму прописью до сотен триллионов вместе прямо в этой теме. Для этого можем воспользоваться "заготовкой", которую любезно предоставил Paul Edstein - завсегдатай "MS MVP - Word":
{ QUOTE { ASK Val "What is he amount?" }{ SET AbsVal { =ABS(Val) }} { IF{=Val} < 0 "Minus " }
{ IF { =INT(AbsVal/100000000) } <> 0 "{ =INT(AbsVal/100000000) \* Cardtext} hundred " }
{ IF { =MOD(INT(AbsVal/1000000),100) } <> 0 "{ IF { =INT(AbsVal/100000000) } <> 0 "and "}" }
{ IF { =INT(AbsVal/1000000) } <> 0 "{ =MOD(INT(AbsVal/1000000),100) \* Cardtext} million, " }
{ IF { =INT(AbsVal/100000) } <> 0 "{ =MOD(INT(AbsVal/100000),10) \*Cardtext } hundred " }
{ IF { =MOD(INT(AbsVal1000),100) } <> 0 "{ IF { =INT(AbsVal/100000) } <> 0 "and "}" }
{ IF { =INT(AbsVal/1000) } <> 0 "{ =MOD(INT(AbsVal/1000),100) \* Cardtext } thousand, " }
{ IF { =MOD(INT(AbsVal/100),10) } <> 0 "{ =MOD(INT(AbsVal/100),10) \*Cardtext } hundred " }
{ IF { =MOD(INT(AbsVal),100) } <> 0 "{ IF { =INT(AbsVal/100) } <> 0 "and "}{=MOD(INT(AbsVal),100) \*Cardtext} " }
{ =INT(AbsVal) \# \dollar;; }{ IF { =INT(AbsVal) } > 1 "s" }
{ IF { =MOD(AbsVal,1) } <> 0 "{ IF { =INT(AbsVal)}<> 0 " and " }{ =MOD(AbsVal,1)*100 \*Cardtext } cent { IF { =MOD(AbsVal,1) } > 0.01 s }" } \* FirstCap }

Там есть "умышленные" ошибки, но мы с Вами, думаю, с этим легко справимся. Тем более, что путь решения пустяков типа "один миллион/миллиард/триллион" и "два миллиона/миллиарда/триллиона" уже заложен в обновленной форме поста №1, где предусмотрена возможность переделки на валюту женского рода (например, украинскую гривну). icon_smoke.gif
bhusky
Smolenkov_BN,

Большое спасибо за проделанную работу!
Нашел только один недостаток - скрипт некорректно вопринимает суммы от 11 до 19

Примеры:
Сумма с НДС - 11.11 руб. (Десять один руб. 11 коп.)
Сумма с НДС - 17.28 руб. (Десять семь руб. 28 коп.)
и т.д.

Можно ли как-то исправить?

Заранее спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2024 IPS, Inc.