Сумма прописью на кыргызском для MS Excel
Желающие могут скачать расширения (или надстройку) для MS Excel 2010 и выше где реализовано функция перевода сумму в текст. Например 34 232,34 в тексте на кыргызском будет “Отуз төрт миң эки жүз отуз эки сом 34 тыйын”. Расширение оформлено в виде addins (файл с расширением *xlam).
Чтобы подключить расширения Вам нужно
1. скачать расширения.
2.Сохранить на диск вашего компьютера.
3. Открыть меню Файл – Параметры.
4. Выбрать вкладку – Надстройки
5. Выбрать Управление: Надстройки Excel и нажать на кнопку “Перейти…”
6. Откроется окно надстроек.
Пока что там нет нашей надстройки. Чтобы добавить ее нажимаем кнопку “Обзор…” и указываем на файл “число_с_прописью_Кыргызча.xlam” которую мы скачали. Теперь в списке появилась расширение “Число_с_прописью_Кыргызча”.
Теперь можем создать новую книгу Excel и пользоватся функцией “=ЧислоПрописьюКР(Сан)”
Скачать расширение:
число_с_прописью_Кыргызча.xlam (35.5 KiB, 2,275 hits)
Файл пример propis_primer.xlsx
Так же желающие могут изменить или переделать код на VB
' ==================================================================== ' Санды кыргызчасында созго которуу функциясы ' сандар 0дон 999 триллионго чейин ' Чодоев Руслан ruslanch@list.ru, http://www.tamgasoft.kg ' версия 1.0 от 10.02.2016 ' можете скачать новую версию с сайта http://www.tamgasoft.kg/ ' ' Функции для вычисления суммы прописью на кыргызском языке по ' числовому значению от 0 до 999 триллион ' Чодоев Руслан ruslanch@list.ru, http://www.tamgasoft.kg ' версия 1.0 от 10.02.2016 ' можете скачать новую версию с сайта http://www.tamgasoft.kg/ ' ==================================================================== '==================================================================== Dim бирдик(9) As String Dim ондук(9) As String Dim жуздук, миндик, миллион, миллиард, триллион As String '==================================================================== Private Function Миндиктерди_алуу(Сан As Currency) As String Dim Сан2 As Currency Миндиктерди_алуу = "" Сан2 = Сан If Сан < 1000 Then ' Минден аз болсо жон гана жуздукторду алабыз Миндиктерди_алуу = жуздукту_алуу(Сан) Exit Function End If If Сан >= 1000000000000# Then ' Триллиондон чон Сан2 = Сан - Int(Сан / 1000000000000#) * 1000000000000# Миндиктерди_алуу = жуздукту_алуу(Int(Сан / 1000000000000#)) + " " + триллион + " " + Миндиктерди_алуу(Сан2) Exit Function End If If Сан >= 1000000000 Then ' Миллиарддан чон Сан2 = Сан - Int(Сан / 1000000000) * 1000000000 Миндиктерди_алуу = жуздукту_алуу(Int(Сан / 1000000000)) + " " + миллиард + " " + Миндиктерди_алуу(Сан2) Exit Function End If If Сан >= 1000000 Then ' Миллиондон чон Сан2 = Сан - Int(Сан / 1000000) * 1000000 Миндиктерди_алуу = жуздукту_алуу(Int(Сан / 1000000)) + " " + миллион + " " + Миндиктерди_алуу(Сан2) Exit Function End If If Сан >= 1000 Then ' Минден чон Сан2 = Сан - Int(Сан / 1000) * 1000 Миндиктерди_алуу = жуздукту_алуу(Int(Сан / 1000)) + " " + миндик + " " + жуздукту_алуу(Сан2) Exit Function End If Индекс = Int(Сан2 / 1000) If Индекс = 0 Then Миндиктерди_алуу = жуздукту_алуу(Сан) Exit Function End If Миндиктерди_алуу = Trim(бирдик(Индекс) + " " + миндик + " " + жуздукту_алуу(Сан)) End Function '==================================================================== Private Function жуздукту_алуу(Сан As Currency) As String Dim Сан2 As Currency жуздукту_алуу = "" Сан2 = Сан If Сан < 100 Then жуздукту_алуу = ондукту_алуу(Сан) Exit Function End If If Сан >= 1000 Then Сан2 = Сан - Int(Сан / 1000) * 1000 End If Индекс = Int(Сан2 / 100) If Индекс = 0 Then жуздукту_алуу = ондукту_алуу(Сан) Exit Function End If жуздукту_алуу = Trim(бирдик(Индекс) + " " + жуздук + " " + ондукту_алуу(Сан)) End Function '==================================================================== Private Function ондукту_алуу(Сан As Currency) As String Dim Сан2 As Currency ондукту_алуу = "" Сан2 = Сан If Сан < 10 Then ондукту_алуу = бирдикти_алуу(Сан) Exit Function End If If Сан >= 100 Then Сан2 = Сан - Int(Сан / 100) * 100 End If Индекс = Int(Сан2 / 10) If Индекс = 0 Then ондукту_алуу = бирдикти_алуу(Сан) Exit Function End If ондукту_алуу = Trim(ондук(Индекс) + " " + бирдикти_алуу(Сан)) End Function '==================================================================== Private Function бирдикти_алуу(Сан As Currency) As String Dim Сан2 As Currency бирдикти_алуу = "" Сан2 = Сан If Сан < 1 Then Exit Function If Сан >= 10 Then Сан2 = Сан - Int(Сан / 10) * 10 End If If Сан2 = 0 Then Exit Function End If Индекс = Int(Сан2 / 1) If Индекс = 0 Then бирдикти_алуу = "" Exit Function End If бирдикти_алуу = бирдик(Индекс) End Function '==================================================================== Function ЧислоПрописьюКР(Сан As Currency, Optional Валюта As String = "сом", Optional Тыйын As String = "тыйын") ' Керектуу переменныйлар Dim ch As Currency Dim Результат As String Dim тый As String ' Массивдерди толтурабыз бирдик(1) = "бир" бирдик(2) = "эки" бирдик(3) = ChrW(1199) + "ч" бирдик(4) = "т" + ChrW(1257) + "рт" бирдик(5) = "беш" бирдик(6) = "алты" бирдик(7) = "жети" бирдик(8) = "сегиз" бирдик(9) = "тогуз" ондук(1) = "он" ондук(2) = "жыйырма" ондук(3) = "отуз" ондук(4) = "кырк" ондук(5) = "ээл" + ChrW(1199) ондук(6) = "алтымыш" ондук(7) = "жетимиш" ондук(8) = "сексен" ондук(9) = "токсон" жуздук = "ж" + ChrW(1199) + "з" миндик = "ми" + ChrW(1187) миллион = "миллион" миллиард = "миллиард" триллион = "триллион" Результат = Trim(Миндиктерди_алуу(Сан)) ' негизги функцияны чыкырабыз Результат = UCase(Left(Результат, 1)) + Right(Результат, Len(Результат) - 1) ' биринчи тамгасын чон кылабыз тый = Format(Round((Сан - Int(Сан)) * 100), "00") ' тыйындарды кошобуз If Тыйын = "" Then ЧислоПрописьюКР = Trim(Результат + " " + Валюта) ' жыйынтык (тыйындары жок) Else ЧислоПрописьюКР = Trim(Результат + " " + Валюта + " " + тый + " " + Тыйын) ' жыйынтык End If End Function '====================================================================
Отзывов (3) на «Сумма прописью на кыргызском для MS Excel»
09.09.2019 в 05:58 AM
Азамат Алла ыраазы болсун
20.08.2020 в 02:22 PM
Спасибо за инфо.У вас нет файла для написания прописью на русском языке но в сомах?
21.08.2020 в 05:30 PM
Сумма прописью на русском языке для сома нет еще. Но спасибо за идею, скоро добавлю.
Оставьте комментарий