Na štai, pabandžiau pritaikyti VBA kodą Wordui ir gavosi štai taip:
VBA kodas:
rašė:
Sub SumZod()
Dim aa#
With Selection
aa = CDbl(Replace(Replace(.Range.Text, Chr(160), ""), " ", ""))
.Range.Text = .Range.Text & " " & MSumProp(aa)
End With
End Sub
Function MSumProp$(chislo#)
Dim eur$, ct$, ed, des, sot, nadc, razr, i&, m$
If chislo >= 1E+15 Or chislo < 0 Then Exit Function
sot = Array("", "šimtas ", "du šimtai ", "trys šimtai ", "keturi šimtai ", "penki šimtai ", "šeši šimtai ", "septyni šimtai ", "aštuoni šimtai ", "devyni šimtai ")
des = Array("", "", "dvidešimt ", "trisdešimt ", "keturiasdešimt ", "penkiasdešimt ", "šešiasdešimt ", "septyniasdešimt ", "aštuoniasdešimt ", "devyniasdešimt ")
nadc = Array("dešimt ", "vienuolika ", "dvylika ", "trylika ", "keturiolika ", "penkiolika ", "šešiolika ", "septyniolika", "aštuoniolika ", "devyniolika ")
ed = Array("", "vienas ", "du ", "trys ", "keturi ", "penki ", "šeši ", "septyni ", "aštuoni ", "devyni ", "", "vienas ", "du ")
razr = Array("trilionai", "trilijonas ", "trilijonų ", "miliardas ", "milijardų ", "milijardai ", "milijonas ", "milijonai ", "milijonų ", "tūkstantis ", "tūkstančiai ", "tūkstančių ", "EUR ", "EUR ", "EUR ")
eur = Left(Format(chislo, "000000000000000.00"), 15)
ct = Right(Format(chislo, "0.00"), 2)
If CDbl(eur) = 0 Then m = "nulis "
For i = 1 To Len(eur) Step 3
If Mid(eur, i, 3) <> "000" Or i = Len(eur) - 2 Then
m = m & sot(CInt(Mid(eur, i, 1))) & IIf(Mid(eur, i + 1, 1) = "1", nadc(CInt(Mid(eur, i + 2, 1))), _
des(CInt(Mid(eur, i + 1, 1))) & ed(CInt(Mid(eur, i + 2, 1)) + IIf(i = Len(eur) - 5 And CInt(Mid(eur, i + 2, 1)) < 3, 10, 0))) & _
IIf(Mid(eur, i + 1, 1) = "1" Or (Mid(eur, i + 2, 1) + 9) Mod 10 >= 4, razr(i + 1), IIf(Mid(eur, i + 2, 1) = "1", razr(i - 1), razr(i)))
End If
Next i
MSumProp = UCase(Left(m, 1)) & Mid(m, 2) & ct & " ct" & IIf(ct \ 10 = 1 Or ((c + 9) Mod 10) >= 4, "", IIf(ct Mod 10 = 1, "", ""))
End Function
Kodą dedame į Normal modulį (atsidaro paspaudus Alt+F11). Pirmą kartą įėjus, modulio nebus- sukuriame per pelės dešinio klavišo meniu( insert module)