Fecha Textual (en letras)


Muchas veces se desea encabezar listados comerciales con la fecha corriente pero escrita en letras. En lugar de escribir 14/09/2000 se quiere colocar 14 de Septiembre de 2000. Este tipo de notación es muy común en listados de precios, presupuestos, cotizaciones e informes de cuentas. La forma de hacerlo es muy simple.

Primeramente agregar la siguiente función en cualquier módulo BAS del proyecto:

Function FechaTextual (F As Variant) As String
'Genera el Dia textual.
If Day(F) = 1 Then D = "Primero"
If Day(F) > 1 Then D = Trim(Str(Day(F)))

'Genera el mes textual.
If Month(F) = 1 Then M = "Enero"
If Month(F) = 2 Then M = "Febrero"
If Month(F) = 3 Then M = "Marzo"
If Month(F) = 4 Then M = "Abril"
If Month(F) = 5 Then M = "Mayo"
If Month(F) = 6 Then M = "Junio"
If Month(F) = 7 Then M = "Julio"
If Month(F) = 8 Then M = "Agosto"
If Month(F) = 9 Then M = "Septiembre"
If Month(F) = 10 Then M = "Octubre"
If Month(F) = 11 Then M = "Noviembre"
If Month(F) = 12 Then M = "Diciembre"

'Genera el Año textual.
A = Trim(Str(Year(F)))

'Genera la variable de fecha textual.
FechaTextual = D + " de " + M + " de " + A

End Function

Luego, donde se quiera colocar la fecha textual bastará con llamar a la función:

Printer.Print "Fecha: ";FechaTextual(Date)

Printer.Print "Fecha: ";FechaTextual("14/09/1975")

Printer.Print "Fecha: ";FechaTextual(Variable)

En el ejemplo inicial se genera una línea sobre el papel la cual contendrá el texto "Fecha: " y también la fecha corriente del sistema (contenida en la variable DATE) en formato escrito. En el ejemplo del medio se logra lo mismo, pero en este caso con una fecha cargada al momento de diseño del programa (constante). Por último, se logra generar la fecha a partir de una variable.

Si lo que se necesita es asignar la fecha a una variable de cadena habrá que hacer:

Fecha = FechaTextual(Date)

Fecha = FechaTextual("14/09/1975")

Fecha = FechaTextual(Variable)

Siguiendo los mismos lineamientos que para el caso de arriba.

Autor: Pablo Canello