как сделать сумму прописью на другом языке? на русском у меня есть файл и на английском тоже.по всему интернету только по русски и английски(
Сумма прописью!
29.03.2012 22:48:13
|
|
|
|
29.03.2012 22:53:12
а надо на каком?
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
|
|
|
|
29.03.2012 22:54:32
А как же украинский и турецкий?
У Сергея на форуме есть вариант на латышском - я одну русскую переделал (она в комплекте кажется тоже есть). |
|
|
|
29.03.2012 23:10:37
Добавлю - я на латышском сделал несколько вариантов - для денег (сантимы остаются цифрами), для вещей (мужской и женский род), плюс ещё их разновидности с и без обработки нуля и с скобками и без (уж заодно, чтоб в строке формул скобки не навешивать).
Автор оригинального кода - Артём Луканин, его код легко поддаётся переделке под вероятно любой язык. Его вариант в комплекте, но что-то под 2007 версией проект ВБА теряет (только что обнаружил :( ) А по ссылке Зато вероятно сотня языков (не считал :) ). |
|
|
|
30.03.2012 08:32:11
Надо было на Азербайджанском! Спасибо огромное Хюго.по твоим ссылкам нашел турецкий.сейчас переделаю.
|
|
|
|
30.03.2012 09:06:04
сайт не принимает Азербайджанский алфавит.вот и прикрепил ворд
|
|
|
|
30.03.2012 09:19:17
Есть еще вариант прописи на тджикском:
но там совершенно другие принципы образования числительных |
|
|
|
30.03.2012 09:51:55
спасибо брат огромное.я понимаю тебя тоже.извини а твоя ссылка какая была.на какой ты советуешь переделать?
|
|
|
|
30.03.2012 10:04:48
Там в архиве есть оригинальный русский вариант - думаю в том коде несложно заменить написание числительных. Если проблема разобраться с частью инсталляции - просто сделайте установку, затем подкорректируйте код в установленном файле (я сделал копии функции с другим названием). Но под 2007 у меня дома тот файл вылетает почему то... |
|
|
|
30.03.2012 10:19:50
такая ошибка на 2007(((
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM> |
|
|
|
30.03.2012 10:22:51
|
|
|
|
30.03.2012 10:40:14
извиняюсь.
|
|
|
|
30.03.2012 10:52:59
Скачал, открыл на 2003 - было предупреждение о макросах 4.0, видать это 2007 не нравится.
Вот код - т.к. он был в свободном доступе, думаю можем пользоваться. Добавил в шапку копирайты из файла. Берите, меняйте написание числительных. 'Автором функции является Артём Луканин. 'Со всеми вопросами и предложениями можете обращаться по адресу: ice_lc@mail.ru 'Также я буду рад Вас видеть у себя на сайте: ' ------------------------------------------ ' ЧИСЛОПРОПИСЬЮ ' ' Дата создания : 22 апреля 99 г. ' Автор : Артём Луканин ' Последнее ' обновление : 20 апреля 2000 г. ' ------------------------------------------ ' Public Function ЧИСЛОПРОПИСЬЮ(Num) As String Dim newNum As Integer, i As Integer, j As Integer Dim temp As String Num = CDbl(Num) If Num < 0 Then ЧИСЛОПРОПИСЬЮ = "Отрицательное число!!!" Exit Function End If Num = Num * 100 Num = Int(CDbl(CStr(Num))) If Num > 99999999999999# Then ЧИСЛОПРОПИСЬЮ = "Слишком большое число!!!" Exit Function End If ЧИСЛОПРОПИСЬЮ = Right(CStr(Num), 2) & " коп." If Len(CStr(Num)) = 1 Then ЧИСЛОПРОПИСЬЮ = "0" & ЧИСЛОПРОПИСЬЮ ЧИСЛОПРОПИСЬЮ = "руб. " & ЧИСЛОПРОПИСЬЮ Num = Int(Num / 100) If Num = 0 Then ЧИСЛОПРОПИСЬЮ = "Ноль " & ЧИСЛОПРОПИСЬЮ Exit Function End If j = 0 For i = 1 To Len(CStr(Num)) newNum = CDbl(Right$(CStr(Num), 1)) Num = Int(Num / 10) If i Mod 3 = 1 Then j = j + 1 If CDbl(Right$(CStr(Num), 1)) = 1 Then Select Case newNum Case 1 temp = "одиннадцать " Case 2 temp = "двенадцать " Case 3 temp = "тринадцать " Case 4 temp = "четырнадцать " Case 5 temp = "пятнадцать " Case 6 temp = "шестнадцать " Case 7 temp = "семнадцать " Case 8 temp = "восемнадцать " Case 9 temp = "девятнадцать " Case 0 temp = "десять " End Select If j = 2 Then temp = temp & "тысяч " ElseIf j = 3 Then temp = temp & "миллионов " ElseIf j = 4 Then temp = temp & "миллиардов " End If ЧИСЛОПРОПИСЬЮ = temp & ЧИСЛОПРОПИСЬЮ Num = Int(Num / 10) i = i + 1 Else Select Case newNum Case 1 If j = 1 Then temp = "один " ElseIf j = 2 Then temp = "одна тысяча " ElseIf j = 3 Then temp = "один миллион " ElseIf j = 4 Then temp = "один миллиард " End If Case 2 If j = 1 Then temp = "два " ElseIf j = 2 Then temp = "две тысячи " ElseIf j = 3 Then temp = "два миллиона " ElseIf j = 4 Then temp = "два миллиарда " End If Case 3 If j = 1 Then temp = "три " ElseIf j = 2 Then temp = "три тысячи " ElseIf j = 3 Then temp = "три миллиона " ElseIf j = 4 Then temp = "три миллиарда " End If Case 4 If j = 1 Then temp = "четыре " ElseIf j = 2 Then temp = "четыре тысячи " ElseIf j = 3 Then temp = "четыре миллиона " ElseIf j = 4 Then temp = "четыре миллиарда " End If Case 5 temp = "пять " Case 6 temp = "шесть " Case 7 temp = "семь " Case 8 temp = "восемь " Case 9 temp = "девять " Case 0 temp = "" End Select If newNum = 0 Then If CDbl(Right$(CStr(Num), 2)) <> 0 Then Select Case j Case 2 temp = temp & "тысяч " Case 3 temp = temp & "миллионов " Case 4 temp = temp & "миллиардов " End Select End If ElseIf newNum > 4 Then Select Case j Case 2 temp = temp & "тысяч " Case 3 temp = temp & "миллионов " Case 4 temp = temp & "миллиардов " End Select End If ЧИСЛОПРОПИСЬЮ = temp & ЧИСЛОПРОПИСЬЮ End If ElseIf i Mod 3 = 2 Then Select Case newNum Case 2 temp = "двадцать " Case 3 temp = "тридцать " Case 4 temp = "сорок " Case 5 temp = "пятьдесят " Case 6 temp = "шестьдесят " Case 7 temp = "семьдесят " Case 8 temp = "восемьдесят " Case 9 temp = "девяносто " Case 0 temp = "" End Select ЧИСЛОПРОПИСЬЮ = temp & ЧИСЛОПРОПИСЬЮ Else Select Case newNum Case 1 temp = "сто " Case 2 temp = "двести " Case 3 temp = "триста " Case 4 temp = "четыреста " Case 5 temp = "пятьсот " Case 6 temp = "шестьсот " Case 7 temp = "семьсот " Case 8 temp = "восемьсот " Case 9 temp = "девятьсот " Case 0 temp = "" End Select ЧИСЛОПРОПИСЬЮ = temp & ЧИСЛОПРОПИСЬЮ End If Next i Mid(ЧИСЛОПРОПИСЬЮ, 1, 1) = UCase(Mid(ЧИСЛОПРОПИСЬЮ, 1, 1)) End Function |
|
|
|
30.03.2012 10:57:19
|
|
|
|
30.03.2012 11:28:42
sarik1986, потестируйте
|
|
|
|
30.03.2012 23:34:37
так?
только не понял когда "бир йцз" пишется, а когда просто "йцз" |
|
|
|
30.03.2012 23:57:08
а так все отлично брат.спасибо тебе.дай бог тебе здоровья.
|
|
|
|
30.03.2012 23:58:19
потестируйте функцию AzerPropCyr из post_322774.xls
Я ее так и сделал |
|
|
|
31.03.2012 00:01:30
сейчас переустановлю Офис проверю.влюбом случае спасибо!
|
||||
|
|
|||
Читают тему