Macro Word para convertir números a letras

Me gustaría saber si alguien dispone de alguna Macro en Word para poder convertir números por letras. La función \*CardText limita mucho, pero la siguiente macro funciona super bien, sólo con un detalle... Escribe las cifras en femenino:

Declare Sub Recibo Lib "dlltcast.dll" (cifra As Long, ByVal texto As String)
Function letras(minumero)
    Dim texto As String * 255
    Dim cifra As Long
    texto = String(255, 0)
    cifra = CLng(minumero)
    Call Recibo(cifra, texto)
    letras = texto
End Function

¿Cómo se hace para que lo haga en masculino?

Respuesta
1

La función que muestras es una función creada para excel precisamente porque en excel no exitia la posibilidad de realizarlo, Microsoft creo la función hace mucho tiempo y la moneda en España era "la peseta" de ahí que la función aparezca en femenino, ahora tenemos el Euro pero la función nadie la ha modificado, esta función esta basada en una librería DLLTCAST.DLL que se debe de instalar en Windows/System y que en base a las instrucciones que has puesto en tu consulta utiliza esa librería para ejecutarla, pero el resultado es en femenino.

Para Word tienes que utilizar la función CardText, y una macro que te puede servir es esta:

Sub Num_Letra()
    Dim numero As String
    numero = InputBox("Escriba el numero a convertir")
    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
        "= " & numero & "\*cardtext", PreserveFormatting:=True
End Sub

Te pedirá que pongas el numero y al aceptar en el lugar donde tengas el cursor pondrá la cantidad en letra actualizando los campos con F9 y con Control+F8 vuelves a ver los códigos de campo.

Gracias por la respuesta, tengo claro que la consulta la he hecho en excel y es de word, es que no entendí mucho cómo era el proceso. Ahora me queda claro. Respecto de utilizar cardtext, no me sirve porque limita la cantidad de cifras, ya lo había visto. De todas formas utilizaré la macro enviada y veremos.
Muy amable, y nuevamente gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas