Наш сегодняшний материал посвящается всем сотрудникам плановых и договорных отделов :)
Когда заключается новый договор, который написан в Word, в которых фигурирует сумма, хочется что бы минимальными действиями (!) у нас сумма из цифр превращалась в сумму прописью.
И было бы замечательно , если бы она автоматически считала НДС и вписывала это значение тоже прописью.
На данный момент самый простой способ, это открыть любой онлайн сервис (типа сумма-прописью или наш ресурс выделение НДС) вписать туда сумму, скопировать оттуда результат и вставить его Word.
Попробуем упростить работу сотрудниц и сотрудников, что бы этот же результат получался по нажатию одной клавиши.
Мы будем использовать уже написанный скрипт Дата (день, месяц, год) прописью, который модернизирован для вывода денежных единиц, а также использовать материал, который позволял нам обмениваться данными из Active Directory и Excel Карточка сотрудника Active Directory через Excel
Итак что же нам необходимо сделать?
1. Открываем Word. Идем во вкладку Вид- Макросы
Даже если у нас нет ни одного макроса нажимаем кнопку - Изменить
Открывается редактор VBA
создаем макрос
Присоединяем библиотеку jsonlib у вас после всех движений в левой верхней части должно быть подобие вот этой картинки
Что означает подчеркнутое слово Normal? Это говорит нам о том что и класс и макрос записаны в стандартном шаблоне Word Normal.dot(m). То есть при открытии любого файла а также содания нового на этом рабочем месте этот класс и макрос будут загружены автоматически.
Теперь нам надо присвоить какое нибудь сочетание клавиш что бы этот макрос запустить.
Для этого в Word. (показано действие для 2010 офиса)
Файл-Параметры-Настройка ленты -(внизу) Сочетания клавиш- Настройка
Выбираем категорию макросы. В правом поле выбираем наш макрос,
Новое сочетание клавиш - F9. Назначить
Почему F9? Вы сами можете переназанчить горячую клавишу по вызову макроса.
Все , у нас готовый шаблон которым мы можем пользоватся
Пишем Сумма договора составляет 23456.94
мы или сразу нажимаем F9 после набора суммы, или просто курсором отмечаем число которое надо преобразовать и нажимаем F9, это не важно.
результат будет такой
Сумма договора составляет 23456.94 руб. (двадцать три тысячи четыреста пятьдесят шесть рублей девяносто четыре копейки ) в том числе НДС(18%) 3578.18 руб. (три тысячи пятьсот семьдесят восемь рублей восемнадцать копеек )
Несмотря на то, что мы достаточно много поработали что бы написать макрос, но с учетом того, что теперь мы но нажатию одной клавиши вписывем то, на что тратили как минимум в два раза больше времени, можно сказать что оптимизация работы планового и договорного отдела удалась.
А как считать если у нас НДС не 18% а 10%?
Исправьте только две строки
nds = Val(body) * 18 / 118
замените на nds = Val(body) * 10 / 110
и
Selection.TypeText Text:=" руб. (" + ff + ") в том числе НДС(18%) " + Format(nds, "###0.00") + " руб. (" + ff1 + ")"
на Selection.TypeText Text:=" руб. (" + ff + ") в том числе НДС(10%) " + Format(nds, "###0.00") + " руб. (" + ff1 + ")"
Как можете заметить Selection.TypeText Text - отвечает за вывод текста и что вы уж там напишите, ограничена лишь вашей фантазией.
Если у вас есть какие то вопросы замечания или нужна помощь , то обращатесь.
Удачных расчетов!
|