rem ** Paigaldamiseks valida OpenOffice.org tabelitöötluses rem ** 'Tööriistad - Makrod - Makro', sealt valida kirje 'Standard' alapunkt rem ** 'Module1', parempoolsel paneelil valida 'main' ja klõpsutada rem ** nupul 'Redigeeri'. Avanevas toimetis tuleb kogu käesoleva faili rem ** sisu kopeerida teksti lõppu. Nüüd on funktsioon kasutatav kõigi rem ** arvutustabelite puhul. Kui soovitakse seda kasutada ainult aktiivses rem ** tabelis, tuleb valida 'Standard' asemel dokumendi nimi, luua rem ** nupu 'Uus' abil uus moodul ja kopeerida antud faili sisu sinna. rem ** Kasutamiseks tuleb sisestada lahtrisse valem =sonadega(argument), rem ** kus argument on kas numbritega määratud summa lahtri asukoht, näiteks rem ** A1, B3, jne või konkreetene arvväärtus, näiteks 99,35 (kümnenderaldaja rem ** vastavalt keelele, eesti keeles koma). Ära sulge unusta. rem ***** Küsimuste korral pöörduda Ain Vagula rem ***** Algse Exceli funktsiooni autor on Urmas Leemet rem ***** Funktsiooni kohandas OpenOffice.org jaoks Heno Ivanov Function Sonadega(Arv) Dim Mm As Variant Dim Kr As Variant Dim Jrk As Variant Dim So As String Dim Nr As String Dim Snt As String Dim F As Integer Dim Kro As String Dim Miin As Boolean Dim SONAD As String Dim SPIKKUS As Integer Dim EsiT As String On Error GoTo Viga Mm = Array("", "üks", "kaks", "kolm", "neli", "viis", "kuus", "seitse", "kaheksa", "üheksa", "") Jrk = Array("", " miljonit ", " tuhat ", "") Arv = Arv * 100 If Arv < 0 Then Miin = True Arv = Int(Abs(Arv)) Snt = Right(Arv, 2) & " senti" Arv = Int(Arv / 100) Kr = Right("000000000" & Abs(Arv), 9) If Arv > 999999999.99 Then GoTo Viga If Kr = "000000000" Then So = "null krooni ": GoTo Lopp Kro = " krooni ": If Kr = "000000001" Then Kro = " kroon " For F = 1 To 9 Nr = Mid(Kr, F, 1) If (Nr <> 0) And (F = 1 Or F = 4 Or F = 7) Then So = So + Mm(Nr) & "sada " If (Nr <> 0) And (F = 2 Or F = 5 Or F = 8) Then If Nr = "1" Then If Mid(Kr, F + 1, 1) = "0" Then So = So + " kümme" Else So = So & Mm(Nr) & "kümmend " End If End If If (F = 3) And (Mid(Kr, 1, 3) <> "000") Then If Mid(Kr, 1, 3) = "001" Then So = So & Mm(Nr) & " miljon " Else If Mid(Kr, F - 1, 1) = "1" And (Nr <> 0) Then So = So & Mm(Nr) & "teist" & Jrk(F / 3) Else So = So & Mm(Nr) & Jrk(F / 3) End If End If End If If (F = 6) And (Mid(Kr, 4, 3) <> "000" ) Then If Mid(Kr, F - 1, 1) = "1" And (Nr <> 0) Then So = So & Mm(Nr) & "teist" & Jrk(F / 3) Else So = So & Mm(Nr) & Jrk(F / 3) End If End If If (F = 9) Then If Mid(Kr, F - 1, 1) = "1" And (Nr <> 0) Then So = So & Mm(Nr) & "teist" & Jrk(F / 3) Else So = So & Mm(Nr) & Jrk(F / 3) End If End if Next F Lopp: If Miin = True Then So = "miinus " & So SONAD = So & Kro & " ja " & Snt if (Left(SONAD,1) = " ") then SONAD = Right(SONAD,Len(SONAD) - 1) End If EsiT = UCase(Left(SONAD, 1)) SPIKKUS = Len(SONAD) Sonadega = EsiT & Right(SONAD, SPIKKUS - 1) GoTo TheEnd Viga: Sonadega = "VIGA" TheEnd: End Function