|
Responder ![]() |
Autor | |
Bepb ![]() Habitual ![]() ![]() Unido: 02/Febrero/2012 Localización: España Estado: Sin conexión Puntos: 133 |
![]() 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
|
|
![]() |
|
emiliove ![]() Administrador ![]() Unido: 16/Junio/2009 Localización: Mexico Estado: Sin conexión Puntos: 5647 |
![]() |
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.
|
|
![]() |
|
Mihura ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador ![]() ![]() Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13736 |
![]() |
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.
|
|
![]() |
|
Bepb ![]() Habitual ![]() ![]() Unido: 02/Febrero/2012 Localización: España Estado: Sin conexión Puntos: 133 |
![]() |
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
|
|
![]() |
|
joanka ![]() Habitual ![]() Unido: 07/Abril/2021 Localización: Lleida Estado: Sin conexión Puntos: 102 |
![]() |
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 |
|
![]() |
|
Bepb ![]() Habitual ![]() ![]() Unido: 02/Febrero/2012 Localización: España Estado: Sin conexión Puntos: 133 |
![]() |
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
|
|
![]() |
Responder ![]() |
|
Tweet
|
Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |