программа Excel
11.11.2003
13:16
#2
Для этого существуют определенные макросы. Они привязываются к нужному файлу. К сожалению, сразу не вспомню, как это делается. Но нужно помнить, что антивирусные программы считают, что макросы, привязанные к файлу, могут быть вирусами, о чем предупреждают.
12.11.2003
10:18
#3
' *****************************************************<br><br>' Число прописью, данную функцию наваял на Visual Basic 6.0,<br><br>но это все едино. Вызывается примерно так Str = InWords(***число**) <br><br>' *****************************************************<br><br>Public Function InWords(nNumber As Long) As String<br><br> Static triad(4) As Integer, numb1(0 To 19) As String, numb2(0 To 9) As String, numb3(0 To 9) As String<br><br> If nNumber = 0 Then<br><br> InWords = "<br><br> Exit Function<br><br> End If<br><br> ss@ = nNumber<br><br> triad(1) = ss@ - Int(ss@ / 1000) * 1000<br><br> ss@ = Int(ss@ / 1000)<br><br> triad(2) = ss@ - Int(ss@ / 1000) * 1000<br><br> ss@ = Int(ss@ / 1000)<br><br> triad(3) = ss@ - Int(ss@ / 1000) * 1000<br><br> ss@ = Int(ss@ / 1000)<br><br> triad(4) = ss@ - Int(ss@ / 1000) * 1000<br><br> ss@ = Int(ss@ / 1000)<br><br> numb1(0) = "<br><br> numb1(1) = "один "<br><br> numb1(2) = "два "<br><br> numb1(3) = "три "<br><br> numb1(4) = "четыре "<br><br> numb1(5) = "пять "<br><br> numb1(6) = "шесть "<br><br> numb1(7) = "семь "<br><br> numb1(8) = "восемь "<br><br> numb1(9) = "девять "<br><br> numb1(10) = "десять "<br><br> numb1(11) = "одиннадцать "<br><br> numb1(12) = "двенадцать "<br><br> numb1(13) = "тринадцать "<br><br> numb1(14) = "четырнадцать "<br><br> numb1(15) = "пятнадцать "<br><br> numb1(16) = "шестнадцать "<br><br> numb1(17) = "семнадцать "<br><br> numb1(18) = "восемнадцать "<br><br> numb1(19) = "девятнадцать "<br><br> numb2(0) = "<br><br> numb2(1) = "<br><br> numb2(2) = "двадцать "<br><br> numb2(3) = "тридцать "<br><br> numb2(4) = "сорок "<br><br> numb2(5) = "пятьдесят "<br><br> numb2(6) = "шестьдесят "<br><br> numb2(7) = "семьдесят "<br><br> numb2(8) = "восемьдесят "<br><br> numb2(9) = "девяносто "<br><br> numb3(0) = "<br><br> numb3(1) = "сто "<br><br> numb3(2) = "двести "<br><br> numb3(3) = "триста "<br><br> numb3(4) = "четыреста "<br><br> numb3(5) = "пятьсот "<br><br> numb3(6) = "шестьсот "<br><br> numb3(7) = "семьсот "<br><br> numb3(8) = "восемьсот "<br><br> numb3(9) = "девятьсот "<br><br> txt$ = "<br><br> If ss@ <> 0 Then<br><br> n% = MsgBox("Сумма выходит за границы формата", 16, "Сумма прописью")<br><br> Сумма_прописью = "<br><br> Exit Function<br><br> End If<br><br> For i% = 4 To 1 Step -1<br><br> n% = 0<br><br> If triad(i%) > 0 Then<br><br> n% = Int(triad(i%) / 100)<br><br> txt$ = txt$ & numb3(n%)<br><br> n% = Int((triad(i%) - n% * 100) / 10)<br><br> txt$ = txt$ & numb2(n%)<br><br> If n% < 2 Then<br><br> n% = triad(i%) - (Int(triad(i%) / 10) - n%) * 10<br><br> Else<br><br> n% = triad(i%) - Int(triad(i%) / 10) * 10<br><br> End If<br><br> Select Case n%<br><br> Case 1<br><br> If i% = 2 Then txt$ = txt$ & "одна " Else txt$ = txt$ & "один "<br><br> Case 2<br><br> If i% = 2 Then txt$ = txt$ & "две " Else txt$ = txt$ & "два"<br><br> Case Else<br><br> txt$ = txt$ & numb1(n%)<br><br> End Select<br><br> Select Case i%<br><br> Case 2<br><br> If n% = 0 Or n% > 4 Then<br><br> txt$ = txt$ + "тысяч "<br><br> Else<br><br> If n% = 1 Then txt$ = txt$ + "тысяча " Else txt$ = txt$ + "тысячи "<br><br> End If<br><br> Case 3<br><br> If n% = 0 Or n% > 4 Then<br><br> txt$ = txt$ + "миллионов "<br><br> Else<br><br> If n% = 1 Then txt$ = txt$ + "миллион " Else txt$ = txt$ + "миллиона "<br><br> End If<br><br> Case 4<br><br> If n% = 0 Or n% > 4 Then<br><br> txt$ = txt$ + "миллиардов "<br><br> Else<br><br> If n% = 1 Then txt$ = txt$ + "миллиард " Else txt$ = txt$ + "миллиарда "<br><br> End If<br><br> End Select<br><br> End If<br><br> Next i%<br><br> txt$ = UCase$(Left$(txt$, 1)) & Mid$(txt$, 2)<br><br> InWords = txt$<br><br>End Function
Читают тему
(гостей: 1)