Private Function NMoneyToSMoney(NMoney As Variant) As String
If IsNumeric(NMoney) = False Then
NMoneyToSMoney = "not a numeric type"
Exit Function
End If
Dim BasicDWString As String, BasicDW() As String
Dim MoneyDWString As String, MoneyDW() As String
Dim MoneyStr As String, ReturnStr As String, TempStr As String
BasicDWString = "cent, angle, circle, ten, hundred, thousand, ten thousand, ten, hundred, thousand, billion, ten, hundred, thousand, trillion, trillion, ten, hundred , Thousand, Ten Thousand, Billion”
MoneyDWString = “Zero, One, Two, Three, Four, Five, Six, Seven, Eight, Nine” BasicDW = Split(
BasicDWString, “,”)
MoneyDW = Split(MoneyDWString, “,”)
MoneyStr = Format(NMoney, “0.00”)
MoneyStr = Replace(MoneyStr, “.”, “”)
StrLen = Len(MoneyStr)
ReturnStr = “”
For x = 0 To StrLen - 1
TempStr = Mid(MoneyStr, StrLen - x, 1)
ReturnStr = MoneyDW(TempStr) & BasicDW(x) & ReturnStr
Next x
ReturnStr = Replace(ReturnStr, "Zero Cent", "")
ReturnStr = Replace(ReturnStr, "Zero Angle ", "")
ReturnStr = Replace(ReturnStr, "Zero", "Zero")
ReturnStr = Replace(ReturnStr, "Zero Hundred", "Zero")
ReturnStr = Replace(ReturnStr, "Zero Thousand", "Zero")
ReturnStr = Replace(ReturnStr, "zero million", "zero")
Do
ReturnStr = Replace(ReturnStr, "zero zero", "zero")
Loop While InStr(ReturnStr, "zero zero") <> 0
ReturnStr = Replace(ReturnStr , "Zero Circle", "Circle")
If Right(ReturnStr, 1) <> "Circle" Then
ReturnStr = Replace(ReturnStr, "Circle", "Zero")
ReturnStr = ReturnStr & "Circle"
End If
ReturnStr = ReturnStr & "all"
NMoneyToSMoney = ReturnStr
End Function
Private Sub Command1_Click()
Text2 = NMoneyToSMoney(Text1)
End Sub