Ask Your Question

Revision history [back]

Excel extensions are not compatible with LibreOffice, and there's no way to make them work with it. If you need some extension for LibreOffice, it must be created specifically for LibreOffice.

If NumberText extension does not include a language that you need, the best one could do is to contact authors and offer help in extending the capabilities of the extension. I suppose that even plain-text explanation of rules used in that language, plus testing results, could help a lot; but one could try own skills in creating own set of rules using NumberText's IDE that is available on the main page under "Add a new language" link.

Excel extensions are not compatible with LibreOffice, and there's no way to make them work with it. If you need some extension for LibreOffice, it must be created specifically for LibreOffice.

If NumberText extension does not include a language that you need, the best one could do is to contact authors and offer help in extending the capabilities of the extension. I suppose that even plain-text explanation of rules used in that language, plus testing results, could help a lot; but one could try own skills in creating own set of rules using NumberText's IDE that is available on the main page under "Add a new language" link.

FYI: The Excel extension contains this VBA macro:

Function SpellNumber(amt As Variant) As Variant
  Dim FIGURE As Variant
  Dim LENFIG As Integer
  Dim i As Integer
  Dim WORDs(19) As String
  Dim tens(9) As String
  WORDs(1) = "One"
  WORDs(2) = "Two"
  WORDs(3) = "Three"
  WORDs(4) = "Four"
  WORDs(5) = "Five"
  WORDs(6) = "Six"
  WORDs(7) = "Seven"
  WORDs(8) = "Eight"
  WORDs(9) = "Nine"
  WORDs(10) = "Ten"
  WORDs(11) = "Eleven"
  WORDs(12) = "Twelve"
  WORDs(13) = "Thirteen"
  WORDs(14) = "Fourteen"
  WORDs(15) = "Fifteen"
  WORDs(16) = "Sixteen"
  WORDs(17) = "Seventeen"
  WORDs(18) = "Eighteen"
  WORDs(19) = "Nineteen"
  tens(2) = "Twenty"
  tens(3) = "Thirty"
  tens(4) = "Fourty"
  tens(5) = "Fifty"
  tens(6) = "Sixty"
  tens(7) = "Seventy"
  tens(8) = "Eighty"
  tens(9) = "Ninety"
  FIGURE = amt
  FIGURE = Format(FIGURE, "FIXED")
  FIGLEN = Len(FIGURE)
  If FIGLEN < 12 Then
    FIGURE = Space(12 - FIGLEN) & FIGURE
  End If
  If Val(Left(FIGURE, 9)) > 1 Then
    SpellNumber = "Rupees "
  ElseIf Val(Left(FIGURE, 9)) = 1 Then
    SpellNumber = "Rupee "
  End If
  For i = 1 To 3
    If Val(Left(FIGURE, 2)) < 20 And Val(Left(FIGURE, 2)) > 0 Then
      SpellNumber = SpellNumber & WORDs(Val(Left(FIGURE, 2)))
    ElseIf Val(Left(FIGURE, 2)) > 19 Then
      SpellNumber = SpellNumber & tens(Val(Left(FIGURE, 1)))
      SpellNumber = SpellNumber & WORDs(Val(Right(Left(FIGURE, 2), 1)))
    End If
    If i = 1 And Val(Left(FIGURE, 2)) > 0 Then
      SpellNumber = SpellNumber & " Crore "
    ElseIf i = 2 And Val(Left(FIGURE, 2)) > 0 Then
      SpellNumber = SpellNumber & " Lakh "
    ElseIf i = 3 And Val(Left(FIGURE, 2)) > 0 Then
      SpellNumber = SpellNumber & " Thousand "
    End If
    FIGURE = Mid(FIGURE, 3)
  Next i
  If Val(Left(FIGURE, 1)) > 0 Then
    SpellNumber = SpellNumber & WORDs(Val(Left(FIGURE, 1))) + " Hundred "
  End If
  FIGURE = Mid(FIGURE, 2)
  If Val(Left(FIGURE, 2)) < 20 And Val(Left(FIGURE, 2)) > 0 Then
    SpellNumber = SpellNumber & WORDs(Val(Left(FIGURE, 2)))
  ElseIf Val(Left(FIGURE, 2)) > 19 Then
    SpellNumber = SpellNumber & tens(Val(Left(FIGURE, 1)))
    SpellNumber = SpellNumber & WORDs(Val(Right(Left(FIGURE, 2), 1)))
  End If
  FIGURE = Mid(FIGURE, 4)
  If Val(FIGURE) > 0 Then
    SpellNumber = SpellNumber & " Paise "
    If Val(Left(FIGURE, 2)) < 20 And Val(Left(FIGURE, 2)) > 0 Then
      SpellNumber = SpellNumber & WORDs(Val(Left(FIGURE, 2)))
    ElseIf Val(Left(FIGURE, 2)) > 19 Then
      SpellNumber = SpellNumber & tens(Val(Left(FIGURE, 1)))
      SpellNumber = SpellNumber & WORDs(Val(Right(Left(FIGURE, 2), 1)))
    End If
  End If
  FIGURE = amt
  FIGURE = Format(FIGURE, "FIXED")
  If Val(FIGURE) > 0 Then
    SpellNumber = SpellNumber & " Only "
  End If
End Function