Al hilo de la entrada anterior (ver), mostraremos cómo calcular las restantes de festividades religiosas relevantes y variables según la Semana Santa.
Tomados los datos de la web www.divvol.org
Como aplicación especial haremos uso de la instrucción Enum para la enumeración y creación de diferentes constantes...
El sentido de esta instrucción es facilitar nuestro trabajo cuando necesitamos emplear bastantes constantes en nuestros procedimientos, principalmente por que se nos permite emplearlo como si fueran objetos, esto es, el tipo definido seguido del punto y luego del nombre de la constante...
Lo que sin duda evitará errores en la sintaxis y uso de dichas constantes.
Un ejemplo sencillo, si vamos a trabajar con tres constantes, podemos escribir:
Public Const rojo = 1
Public Const verde = 2
Public Const azul = 3
pero sería más práctico y seguro trabajar con la lista enumerada:
Public Enum colores
rojo = 1
verde = 2
azul = 3
End Enum
A lo largo de nuestro procedimiento, para recuperar el valor de la constante, podríamos emplear la forma:
colores.rojo
Para resolver nuestra cuestión en particular, crearemos una función personalizada en VBA para tal fin, insertando nuestro código dentro de un módulo estándar desde el editor de VB:
Como podemos ver en la imagen obtenemos en base a las distintas constantes los días concretos para cada año informado:
Tomados los datos de la web www.divvol.org
Como aplicación especial haremos uso de la instrucción Enum para la enumeración y creación de diferentes constantes...
El sentido de esta instrucción es facilitar nuestro trabajo cuando necesitamos emplear bastantes constantes en nuestros procedimientos, principalmente por que se nos permite emplearlo como si fueran objetos, esto es, el tipo definido seguido del punto y luego del nombre de la constante...
Lo que sin duda evitará errores en la sintaxis y uso de dichas constantes.
Un ejemplo sencillo, si vamos a trabajar con tres constantes, podemos escribir:
Public Const rojo = 1
Public Const verde = 2
Public Const azul = 3
pero sería más práctico y seguro trabajar con la lista enumerada:
Public Enum colores
rojo = 1
verde = 2
azul = 3
End Enum
A lo largo de nuestro procedimiento, para recuperar el valor de la constante, podríamos emplear la forma:
colores.rojo
Para resolver nuestra cuestión en particular, crearemos una función personalizada en VBA para tal fin, insertando nuestro código dentro de un módulo estándar desde el editor de VB:
Public Enum dias DomPascua = 0 MiéCeniza = -46 DomRamos = -7 Ascensión = 40 DomAscensión = 43 Pentecostés = 50 SantísimaTrinidad = 57 CorpusChristi = 61 DomCorpusChristi = 64 End Enum Function FechaSemanaSanta(año As Integer, FechaSanta As String) As Date 'otros días variables durante y después de la Pascua 'http://www.divvol.org/recursos/fecha_pascua.htm Dim Ndias As dias Application.Volatile Select Case FechaSanta Case Is = "DomPascua": Ndias = dias.DomPascua Case Is = "MiéCeniza": Ndias = dias.MiéCeniza Case Is = "DomRamos": Ndias = dias.DomRamos Case Is = "Ascensión": Ndias = dias.Ascensión Case Is = "DomAscensión": Ndias = dias.DomAscensión Case Is = "Pentescostés": Ndias = dias.Pentecostés Case Is = "SantísimaTrinidad": Ndias = dias.SantísimaTrinidad Case Is = "CorpusChristi": Ndias = dias.CorpusChristi End Select FechaSemanaSanta = DomingoPascua(año) + Ndias End Function
Como podemos ver en la imagen obtenemos en base a las distintas constantes los días concretos para cada año informado:
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.