أفضل إجابة مهند محسن قام بنشر فبراير 15, 2022 أفضل إجابة قام بنشر فبراير 15, 2022 على الرغم انك لم تقم برفع ملف مدعوم بشرح كافى عن المطلوب ... وكما تعلم والجميع يعلم ان هذا بدوره يؤدى الى اهدار وقت كل من يطلع على مشاركتك دون جدوى ,, فسأجيبك أيضا بدون ملف .. هذا هو الكود المطلوب Function NumberToText(Number As Double, MainCurrency As String, SubCurrency As String) Dim Array1(0 To 9) As String Dim Array2(0 To 9) As String Dim Array3(0 To 9) As String Dim MyNumber As String Dim GetNumber As String Dim ReadNumber As String Dim My100 As String Dim My10 As String Dim My1 As String Dim My11 As String Dim My12 As String Dim GetText As String Dim Billion As String Dim Million As String Dim Thousand As String Dim Hundred As String Dim Fraction As String Dim MyAnd As String Dim I As Integer Dim ReMark As String If Number > 999999999999.99 Then Exit Function If Number < 0 Then Number = Number * -1 ReMark = "سالب " End If If Number = 0 Then NumberToText = "صفر" Exit Function End If MyAnd = " و" Array1(0) = "" Array1(1) = "مائة" Array1(2) = "مائتان" Array1(3) = "ثلاثمائة" Array1(4) = "أربعمائة" Array1(5) = "خمسمائة" Array1(6) = "ستمائة" Array1(7) = "سبعمائة" Array1(8) = "ثمانمائة" Array1(9) = "تسعمائة" Array2(0) = "" Array2(1) = " عشر" Array2(2) = "عشرون" Array2(3) = "ثلاثون" Array2(4) = "أربعون" Array2(5) = "خمسون" Array2(6) = "ستون" Array2(7) = "سبعون" Array2(8) = "ثمانون" Array2(9) = "تسعون" Array3(0) = "" Array3(1) = "واحد" Array3(2) = "اثنان" Array3(3) = "ثلاثة" Array3(4) = "أربعة" Array3(5) = "خمسة" Array3(6) = "ستة" Array3(7) = "سبعة" Array3(8) = "ثمانية" Array3(9) = "تسعة" GetNumber = Format(Number, "000000000000.00") I = 0 Do While I < 15 If I < 12 Then MyNumber = Mid$(GetNumber, I + 1, 3) Else MyNumber = "0" + Mid$(GetNumber, I + 2, 2) End If If (Mid$(MyNumber, 1, 3)) > 0 Then ReadNumber = Mid$(MyNumber, 1, 1) My100 = Array1(ReadNumber) ReadNumber = Mid$(MyNumber, 3, 1) My1 = Array3(ReadNumber) ReadNumber = Mid$(MyNumber, 2, 1) My10 = Array2(ReadNumber) If Mid$(MyNumber, 2, 2) = 11 Then My11 = "إحدى عشرة" If Mid$(MyNumber, 2, 2) = 12 Then My12 = "إثنى عشرة" If Mid$(MyNumber, 2, 2) = 10 Then My10 = "عشرة" If ((Mid$(MyNumber, 1, 1)) > 0) And ((Mid$(MyNumber, 2, 2)) > 0) Then My100 = My100 + MyAnd If ((Mid$(MyNumber, 3, 1)) > 0) And ((Mid$(MyNumber, 2, 1)) > 1) Then My1 = My1 + MyAnd GetText = My100 + My1 + My10 If ((Mid$(MyNumber, 3, 1)) = 1) And ((Mid$(MyNumber, 2, 1)) = 1) Then GetText = My100 + My11 If ((Mid$(MyNumber, 1, 1)) = 0) Then GetText = My11 End If If ((Mid$(MyNumber, 3, 1)) = 2) And ((Mid$(MyNumber, 2, 1)) = 1) Then GetText = My100 + My12 If ((Mid$(MyNumber, 1, 1)) = 0) Then GetText = My12 End If If (I = 0) And (GetText <> "") Then If ((Mid$(MyNumber, 1, 3)) > 10) Then Billion = GetText + " مليار" Else Billion = GetText + " مليارات" If ((Mid$(MyNumber, 1, 3)) = 2) Then Billion = " مليار" If ((Mid$(MyNumber, 1, 3)) = 2) Then Billion = " مليارن" End If End If If (I = 3) And (GetText <> "") Then If ((Mid$(MyNumber, 1, 3)) > 10) Then Million = GetText + " مليون" Else Million = GetText + " ملايين" If ((Mid$(MyNumber, 1, 3)) = 1) Then Million = " مليون" If ((Mid$(MyNumber, 1, 3)) = 2) Then Million = " مليونان" End If End If If (I = 6) And (GetText <> "") Then If ((Mid$(MyNumber, 1, 3)) > 10) Then Thousand = GetText + " ألف" Else Thousand = GetText + " ألاف" If ((Mid$(MyNumber, 3, 1)) = 1) Then Thousand = " ألف" If ((Mid$(MyNumber, 3, 1)) = 2) Then Thousand = " ألفان" End If End If If (I = 9) And (GetText <> "") Then Hundred = GetText If (I = 12) And (GetText <> "") Then Fraction = GetText End If I = I + 3 Loop If (Billion <> "") Then If (Million <> "") Or (Thousand <> "") Or (Hundred <> "") Then Billion = Billion + MyAnd End If If (Million <> "") Then If (Thousand <> "") Or (Hundred <> "") Then Million = Million + MyAnd End If If (Thousand <> "") Then If (Hundred <> "") Then Thousand = Thousand + MyAnd End If If Fraction <> "" Then If (Billion <> "") Or (Million <> "") Or (Thousand <> "") Or (Hundred <> "") Then NumberToText = ReMark + Billion + Million + Thousand + Hundred + " " + MainCurrency + MyAnd + Fraction + " " + SubCurrency Else NumberToText = ReMark + Fraction + " " + SubCurrency End If Else NumberToText = ReMark + Billion + Million + Thousand + Hundred + " " + MainCurrency End If End Function 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.