** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Error variable mslLanguageIDUI
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoError variable mslLanguageIDUI

 Responder Responder
Autor
Mensaje
Bepb Ver desplegable
Habitual
Habitual
Avatar

Unido: 02/Febrero/2012
Localización: España
Estado: Sin conexión
Puntos: 152
Enlace directo a este mensaje Tema: Error variable mslLanguageIDUI
    Enviado: 24/Mayo/2023 a las 13:09
Hola,

   Estoy intentando averiguar el idioma del sistema desde una macro de Access y me marca un error de variable no definida en msoLanguageIDUI.
La utilizo en un Select Case:

Select Case Application.LanguageSettings.LanguageID(msoLanguageIDUI)

No sé si debo tener algún módulo o api que no tengo en mi Access, tampoco sé como incluirlo

Un saludo y gracias.
Saludos desde Menorca. José Luis
Arriba
emiliove Ver desplegable
Administrador
Administrador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 5694
Enlace directo a este mensaje Enviado: 24/Mayo/2023 a las 15:24
Pues yo si pongo esto:
Dim objLangSet As Object
Set objLangSet = Application.LanguageSettings
MsgBox objLangSet.LanguageID(msoLanguageIDInstall)
El cuadro de dialogo me dice: 2052 que equivale a msoLanguageIDMexicanSpanish

Saludos.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Enlace directo a este mensaje Enviado: 24/Mayo/2023 a las 15:29
Para poder 'usar' el comando tal cual lo pones, necesitas tener la librería Microsoft Office xx.x Object Library referenciada, para que Access pueda saber el valor del parámetro.

Lo que puedes hacer es ejecutar el comando con el valor de ese parámetro directamente:
Application.LanguageSettings.LanguageID(2)

Nota, para averiguarlo primero referencias la librería, obtienes su valor:
       ? msoLanguageIDUI    (en la ventana inmediato

 y 'desreferencias' la librería.
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
Bepb Ver desplegable
Habitual
Habitual
Avatar

Unido: 02/Febrero/2012
Localización: España
Estado: Sin conexión
Puntos: 152
Enlace directo a este mensaje Enviado: 24/Mayo/2023 a las 17:31
Hola Emilio,

   Me da el mismo error de variable no definida en msoLanguageIDInstall.
   Supongo que debe ser lo que indica el compañero que debo referenciar libreria, lo voy a intentar.

Saludos
Saludos desde Menorca. José Luis
Arriba
joanka Ver desplegable
Habitual
Habitual


Unido: 07/Abril/2021
Localización: Lleida
Estado: Sin conexión
Puntos: 140
Enlace directo a este mensaje Enviado: 24/Mayo/2023 a las 18:10
Hola prueba esto:

Option Compare Database

Private Declare PtrSafe Function GetUserDefaultLCID Lib "kernel32" () As Long

Sub verIdioma()
    Dim idioma As String
    
    idioma = saberidioma()
    MsgBox "El idioma de Access es: " & idioma
End Sub

Function saberidioma() As String
    Dim idioma As Long
    
    idioma = GetUserDefaultLCID()
    
    Select Case idioma
        Case 1033
            saberidioma = "Inglés"
        Case 3082
            saberidioma = "Español"
        
        Case Else
            saberidioma = "Otro idioma"
    End Select
End Function

Private Sub btidioma_Click()

verIdioma

End Sub
Arriba
Bepb Ver desplegable
Habitual
Habitual
Avatar

Unido: 02/Febrero/2012
Localización: España
Estado: Sin conexión
Puntos: 152
Enlace directo a este mensaje Enviado: 24/Mayo/2023 a las 18:54
Hola,

    Ya pude solucionar el tema con la referenciación de la Libreria Microsoft Office 16.0 Object Library, así ya reconoce todo.

    Gracias también a Joanka, otra opción muy buena.

Saludos y gracias a todos.
Saludos desde Menorca. José Luis
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable