Public Function Slownie(L) As String Dim C As Currency, S As String, G As String, Liczba000 As String Dim i As Byte, Wynik As String, L1 As Byte, L10 As Byte, L100 As Byte If Not IsNumeric(L) Then Wynik = "???" ElseIf L > 999999999999# Then Wynik = "+++" ElseIf L < -999999999999# Then Wynik = "---" Else C = CCur(L) Wynik = Switch(C < 0, "minus") & "" If Fix(C) = 0 Then Wynik = Wynik & " " & "zero z這tych" ElseIf Int(Abs(C)) = 1 Then Wynik = Wynik & " " & "jeden z這ty" Else S = Right(Format(Fix(C), "000000000000"), 12) '----z這te For i = 0 To 3 Liczba000 = Mid(S, 3 * i + 1, 3) If CInt(Liczba000) = 1 Then Wynik = Trim(Wynik) & " " & Trim("jeden " & Choose(i + 1, "miliard", "milion", "tysi鉍", "z這tych")) Else L1 = Right(Liczba000, 1) L10 = Mid(Liczba000, 2, 1) L100 = Left(Liczba000, 1) If L1 + L10 + L100 > 0 Then Wynik = Trim(Wynik) & " " & Trim(Stringi("Setki", L100) & " " & Stringi("dziesiatki", L10)) If L10 = 1 Then Wynik = Trim(Wynik) & " " & Stringi("nastki", L1) & " " & Choose(i + 1, "miliard闚", "milion闚", "tysi璚y", "z這tych") Else Wynik = Trim(Wynik) & " " & Trim(Stringi("jednostki", L1) & " " & Stringi("sekcja" & i, L1)) End If End If If (i = 3) And (L10 <> 1) Then Wynik = Trim(Wynik) & " " & Stringi("zlote", Right(S, 1)) End If Next i End If G = Right(Format(C, "0.00"), 2) '---grosze If G = 0 Then Wynik = Trim(Wynik) & " zero groszy" ElseIf G = 1 Then Wynik = Trim(Wynik) & " jeden grosz" Else If Left(G, 1) = 1 Then Wynik = Trim(Wynik) & " " & Stringi("nastki", Right(G, 1)) & " groszy" Else Wynik = Trim(Wynik) & " " & Trim(Stringi("dziesiatki", Left(G, 1)) & " " & Stringi("jednostki", Right(G, 1))) Wynik = Trim(Wynik) & " " & Stringi("grosze", Right(G, 1)) End If End If End If Slownie = Wynik End Function Public Function Stringi(NrStringu As String, Cyfra As Byte) Select Case NrStringu Case "jednostki" Stringi = Choose(Cyfra, "jeden", "dwa", "trzy", "cztery", "pi耩", "sze��", "siedem", "osiem", "dziewi耩") Case "nastki" Stringi = Choose(Cyfra + 1, "dziesi耩", "jedena�cie", "dwana�cie", "trzyna�cie", "czterna�cie", "pi皻na�cie", "szesna�cie", "siedemna�cie", "osiemna�cie", "dziewi皻na�cie") Case "dziesiatki" Stringi = Choose(Cyfra, "", "dwadzie�cia", "trzydzie�ci", "czterdzie�ci", "pi耩dziesi靖", "sze�熛ziesi靖", "siedemdziesi靖", "osiemdziesi靖", "dziewi耩dziesi靖") Case "setki" Stringi = Choose(Cyfra, "sto", "dwie�cie", "trzysta", "czterysta", "pi耩set", "sze�犘et", "siedemset", "osiemset", "dziewi耩set") Case "sekcja2" Stringi = Choose(Cyfra + 1, "tysi璚y", "tysi璚y", "tysi鉍e", "tysi鉍e", "tysi鉍e", "tysi璚y", "tysi璚y", "tysi璚y", "tysi璚y", "tysi璚y") Case "sekcja1" Stringi = Choose(Cyfra + 1, "milion闚", "milion闚", "miliony", "miliony", "miliony", "milion闚", "milion闚", "milion闚", "milion闚", "milion闚") Case "sekcja0" Stringi = Choose(Cyfra + 1, "miliard闚", "miliard闚", "miliardy", "miliardy", "miliardy", "miliard闚", "miliard闚", "miliard闚", "miliard闚", "miliard闚") Case "zlote" Stringi = Choose(Cyfra + 1, "z這tych", "z這tych", "z這te", "z這te", "z這te", "z這tych", "z這tych", "z這tych", "z這tych", "z這tych") Case "grosze" Stringi = Choose(Cyfra + 1, "groszy", "groszy", "grosze", "grosze", "grosze", "groszy", "groszy", "groszy", "groszy", "groszy") End Select End Function