Function DocSo(Sotien As Currency)
Dim St, St1, e, e1, e2, e3, e4, e5, so, tam As String
Dim Dem, Hang, Cap
Dim Sotien1 As Currency
Sotien1 = Abs(Sotien)
If Sotien1 > 1E+24 Then
DocSo = "##########---S" & ChrW(7889) & " qua l" & ChrW(7899) & "n---##########"
Else
DocSo = ""
St = Format(Sotien1, "000000000000000000000000")
St1 = Format(Sotien1, "#")
Dem = Array("", "mot ", "hai ", "ba ", "bon ", "nam ", "sau ", "bay ", "tam ", "chin ")
Hang = Array("", "nghin ", "tram ", "muoi ", "")
Cap = Array("", "", "", "jo ", "ok ", "man ", "")
For i = 1 To 6
e = Mid(St, 1 + (i - 1) * 4, 4)
For j = 1 To 4
so = Mid(e, j, 1)
If j = 4 And Len(St) - Len(St1) < i * 4 Then
If e <> "0000" Then
DocSo = DocSo & Dem(so) & Hang(j) & Cap(i)
Else
DocSo = DocSo & Dem(so) & Hang(j)
End If
ElseIf so = 1 And j = 3 Then
DocSo = DocSo & Hang(j)
ElseIf so <> 0 Then
DocSo = DocSo & Dem(so) & Hang(j)
End If
Next
Next
End If
If Sotien < 0 Then
DocSo = "Am " & DocSo
End If
DocSo = UCase(Left(DocSo, 1)) & Trim(Mid(DocSo, 2)) & "."
End Function