Листинг 2. Вспомогательный вариант
“сумма прописью”
Public Function ResultSumma$(Source$, Rod%, w1$, w2to4$, _
w5to10$, iCase%)
Dim i%, Summa$
‘ Проверка правильности числа
‘ и преобразование его в пропись
‘
‘ Source$ - цифровая запись числа в символьном виде
‘ Rod, w1, w2to4, w5to10 - см. SummaString
‘ iCase > 0 - первую букву преобразовать в прописную
‘ ========================
If Source$ = “” Then
MsgBox “Пустая символьная строка”
Exit Function
End If
For i = 1 To Len(Source$)
If Not Mid$(Source$, i, 1) Like “[0-9]” Then
MsgBox “Исходная строка содержит не цифры:” & _
vbCrLf & Source$
Exit Function
End If
Next
If Val(Source$) > &H7FFFFFFF Then
MsgBox “Превышен предел - 2147483647”
Exit Function
End If
Call SummaString(Summa$, CLng(Val(Source$)), Rod%, w1$, _
w2to4$, w5to10$)
If iCase% > 0 Then ‘ написать с прописной буквы
Mid$(Summa$, 1) = Chr$(Asc(Summa$) - 32)
End If
ResultSumma$ = Summa$
End Function