¿Por qué podemos verificar la configuración regional de un usuario dividiendo dos números en VBA?
Estoy trabajando en una hoja de cálculo e intentando entender parte del código. Al parecer, el siguiente código debe devolver verdadero si la configuración regional del usuario acepta “EN CDN”. ¿Alguien puede darme una idea de cómo funciona esto o por qué funciona de esta manera? No entiendo por qué el cálculo temporal podría causar un error y cómo se relaciona con la configuración regional.
Función IsRegSettingsEn() Como Boolean
En Error Ir A Err_Function
Dim temp
temp = CLng("2.0") / 2
IsRegSettingsEn = Verdadero
Salida de Función
Err_Function:
IsRegSettingsEn = Falso
Fin de Función
davy.ai
El código intenta determinar si las configuraciones regionales del usuario aceptan “EN CDN” al intentar dividir una cadena (“2.0”) por 2. Esto se hace para generar un error en tiempo de ejecución si las configuraciones regionales del usuario no están configuradas para usar un punto (.) como separador decimal.
Si las configuraciones del usuario usan una coma (,) en su lugar, el cálculo fallará y el error será capturado por la declaración “On Error GoTo”, que establece la función para devolver False.
Si el cálculo tiene éxito, significa que las configuraciones regionales del usuario están configuradas para usar un punto (.) como separador decimal, y la función devuelve True.
En general, esta no es una forma muy confiable ni robusta de determinar las configuraciones regionales del usuario, y existen métodos más apropiados para lograr esto.