Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
How do I identify the current locale?
Hi.
I need to be able to identify the locale that a system is using in order to use and IF, THEN, ELSE or CASE statement. This is because a solution that works for English doesn't work for French, and the solution for French doesn't work for English. Is there a simple piece of VBA that will question the system so that I can then select which line of code to use depending on the locale? Your help is greatly appreciated, thanks in advance. JR |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
How do I identify the current locale?
I think you can use this...
LCID = Application.LanguageSettings.LanguageID(msoLanguag eIDUI) It returns the LCID as shown on this webpage... http://www.science.co.il/Language/Lo...asp?s=codepage It returns 1033 for my English(US) system (not sure which English code page you were referring to) and it should return 1036 for a French(France) system (although like the English code pages, there are several for French besides France). -- Rick (MVP - Excel) "JR" wrote in message ... Hi. I need to be able to identify the locale that a system is using in order to use and IF, THEN, ELSE or CASE statement. This is because a solution that works for English doesn't work for French, and the solution for French doesn't work for English. Is there a simple piece of VBA that will question the system so that I can then select which line of code to use depending on the locale? Your help is greatly appreciated, thanks in advance. JR |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
How do I identify the current locale?
Ron De Bruin deals with the subject here
http://www.rondebruin.nl/international.htm Mike "JR" wrote: Hi. I need to be able to identify the locale that a system is using in order to use and IF, THEN, ELSE or CASE statement. This is because a solution that works for English doesn't work for French, and the solution for French doesn't work for English. Is there a simple piece of VBA that will question the system so that I can then select which line of code to use depending on the locale? Your help is greatly appreciated, thanks in advance. JR |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
How do I identify the current locale?
Thank you both. Now I'll have to study Mr De Bruin's information and see
whether I can get my un-techie head round it. :-) JR |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
How do I identify the current locale?
I can't test this as I don't have access to any computers in other
countries, but the following should return the language that the computer running the code is set up for. So, using it should allow you to use a test structure similar to this in your own code... If UserLanguage() = "English" Then ' The computer running this code has English as its native language ElseIf UserLanguage() = "French" Then ' The computer running this code has English as its native language Else MsgBox "You didn't test for this language: " & UserLanguage() End If Put all of the following in a Module (Insert/Module from the VB editor's menu bar), then just call UserLanguage in your own code and it will return the language set up in the regional settings for the computer running your code... Private Declare Function GetLocaleInfo Lib "kernel32" _ Alias "GetLocaleInfoA" _ (ByVal Locale As Long, _ ByVal LCType As Long, _ ByVal lpLCData As String, _ ByVal cchData As Long) As Long Private Const LOCALE_SNATIVELANGNAME As Long = &H4 Public Function UserLanguage() As String Dim sReturn As String, lReturn As Long, dwLocaleID As Long, Code As Long Code = LOCALE_SNATIVELANGNAME dwLocaleID = Application.LanguageSettings.LanguageID(msoLanguag eIDUI) lReturn = GetLocaleInfo(dwLocaleID, Code, sReturn, Len(sReturn)) If lReturn Then sReturn = Space$(lReturn) lReturn = GetLocaleInfo(dwLocaleID, Code, sReturn, Len(sReturn)) If lReturn Then UserLanguage = Left$(sReturn, lReturn - 1) End If End Function -- Rick (MVP - Excel) "JR" wrote in message ... Thank you both. Now I'll have to study Mr De Bruin's information and see whether I can get my un-techie head round it. :-) JR |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Identify the Current Cell | Excel Discussion (Misc queries) | |||
Identify Current WS? | Excel Programming | |||
Identify current active cell | Excel Worksheet Functions | |||
Object doesn't support current locale setting: 'setlocale' | Excel Programming | |||
Identify Current Row for ActiveCell | Excel Programming |