Option Compare Database
Option Explicit
Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" _
(ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Boolean
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 Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
Private Const LOCALE_FONTSIGNATURE As Long = &H58
Private Const LOCALE_ICALENDARTYPE As Long = &H1009
Private Const LOCALE_ICENTURY As Long = &H24
Private Const LOCALE_ICOUNTRY As Long = &H5
Private Const LOCALE_ICURRDIGITS As Long = &H19
Private Const LOCALE_ICURRENCY As Long = &H1B
Private Const LOCALE_IDATE As Long = &H21
Private Const LOCALE_IDAYLZERO As Long = &H26
Private Const LOCALE_IDEFAULTANSICODEPAGE As Long = &H1004
Private Const LOCALE_IDEFAULTCODEPAGE As Long = &HB
Private Const LOCALE_IDEFAULTCOUNTRY As Long = &HA
Private Const LOCALE_IDEFAULTEBCDICCODEPAGE As Long = &H1012
Private Const LOCALE_IDEFAULTLANGUAGE As Long = &H9
Private Const LOCALE_IDEFAULTMACCODEPAGE As Long = &H1011
Private Const LOCALE_IDIGITS As Long = &H11
Private Const LOCALE_IDIGITSUBSTITUTION As Long = &H1014
Private Const LOCALE_IFIRSTDAYOFWEEK As Long = &H100C
Private Const LOCALE_IFIRSTWEEKOFYEAR As Long = &H100D
Private Const LOCALE_IINTLCURRDIGITS As Long = &H1A
Private Const LOCALE_ILANGUAGE As Long = &H1
Private Const LOCALE_ILDATE As Long = &H22
Private Const LOCALE_ILZERO As Long = &H12
Private Const LOCALE_IMEASURE As Long = &HD
Private Const LOCALE_IMONLZERO As Long = &H27
Private Const LOCALE_INEGCURR As Long = &H1C
Private Const LOCALE_INEGNUMBER As Long = &H1010
Private Const LOCALE_INEGSEPBYSPACE As Long = &H57
Private Const LOCALE_INEGSIGNPOSN As Long = &H53
Private Const LOCALE_INEGSYMPRECEDES As Long = &H56
Private Const LOCALE_IOPTIONALCALENDAR As Long = &H100B
Private Const LOCALE_IPAPERSIZE As Long = &H100A
Private Const LOCALE_IPOSSEPBYSPACE As Long = &H55
Private Const LOCALE_IPOSSIGNPOSN As Long = &H52
Private Const LOCALE_IPOSSYMPRECEDES As Long = &H54
Private Const LOCALE_ITIME As Long = &H23
Private Const LOCALE_ITIMEMARKPOSN As Long = &H1005
Private Const LOCALE_ITLZERO As Long = &H25
Private Const LOCALE_NOUSEROVERRIDE As Long = &H80000000
Private Const LOCALE_RETURN_NUMBER As Long = &H20000000
Private Const LOCALE_S1159 As Long = &H28
Private Const LOCALE_S2359 As Long = &H29
Private Const LOCALE_SABBREVCTRYNAME As Long = &H7
Private Const LOCALE_SABBREVDAYNAME1 As Long = &H31
Private Const LOCALE_SABBREVDAYNAME2 As Long = &H32
Private Const LOCALE_SABBREVDAYNAME3 As Long = &H33
Private Const LOCALE_SABBREVDAYNAME4 As Long = &H34
Private Const LOCALE_SABBREVDAYNAME5 As Long = &H35
Private Const LOCALE_SABBREVDAYNAME6 As Long = &H36
Private Const LOCALE_SABBREVDAYNAME7 As Long = &H37
Private Const LOCALE_SABBREVLANGNAME As Long = &H3
Private Const LOCALE_SABBREVMONTHNAME1 As Long = &H44
Private Const LOCALE_SABBREVMONTHNAME10 As Long = &H4D
Private Const LOCALE_SABBREVMONTHNAME11 As Long = &H4E
Private Const LOCALE_SABBREVMONTHNAME12 As Long = &H4F
Private Const LOCALE_SABBREVMONTHNAME13 As Long = &H100F
Private Const LOCALE_SABBREVMONTHNAME2 As Long = &H45
Private Const LOCALE_SABBREVMONTHNAME3 As Long = &H46
Private Const LOCALE_SABBREVMONTHNAME4 As Long = &H47
Private Const LOCALE_SABBREVMONTHNAME5 As Long = &H48
Private Const LOCALE_SABBREVMONTHNAME6 As Long = &H49
Private Const LOCALE_SABBREVMONTHNAME7 As Long = &H4A
Private Const LOCALE_SABBREVMONTHNAME8 As Long = &H4B
Private Const LOCALE_SABBREVMONTHNAME9 As Long = &H4C
Private Const LOCALE_SCOUNTRY As Long = &H6
Private Const LOCALE_SCURRENCY As Long = &H14
Private Const LOCALE_SDATE As Long = &H1D
Private Const LOCALE_SDAYNAME1 As Long = &H2A
Private Const LOCALE_SDAYNAME2 As Long = &H2B
Private Const LOCALE_SDAYNAME3 As Long = &H2C
Private Const LOCALE_SDAYNAME4 As Long = &H2D
Private Const LOCALE_SDAYNAME5 As Long = &H2E
Private Const LOCALE_SDAYNAME6 As Long = &H2F
Private Const LOCALE_SDAYNAME7 As Long = &H30
Private Const LOCALE_SDECIMAL As Long = &HE
Private Const LOCALE_SENGCOUNTRY As Long = &H1002
Private Const LOCALE_SENGCURRNAME As Long = &H1007
Private Const LOCALE_SENGLANGUAGE As Long = &H1001
Private Const LOCALE_SGROUPING As Long = &H10
Private Const LOCALE_SINTLSYMBOL As Long = &H15
Private Const LOCALE_SISO3166CTRYNAME As Long = &H5A
Private Const LOCALE_SISO639LANGNAME As Long = &H59
Private Const LOCALE_SLANGUAGE As Long = &H2
Private Const LOCALE_SLIST As Long = &HC
Private Const LOCALE_SLONGDATE As Long = &H20
Private Const LOCALE_SMONDECIMALSEP As Long = &H16
Private Const LOCALE_SMONGROUPING As Long = &H18
Private Const LOCALE_SMONTHNAME1 As Long = &H38
Private Const LOCALE_SMONTHNAME10 As Long = &H41
Private Const LOCALE_SMONTHNAME11 As Long = &H42
Private Const LOCALE_SMONTHNAME12 As Long = &H43
Private Const LOCALE_SMONTHNAME13 As Long = &H100E
Private Const LOCALE_SMONTHNAME2 As Long = &H39
Private Const LOCALE_SMONTHNAME3 As Long = &H3A
Private Const LOCALE_SMONTHNAME4 As Long = &H3B
Private Const LOCALE_SMONTHNAME5 As Long = &H3C
Private Const LOCALE_SMONTHNAME6 As Long = &H3D
Private Const LOCALE_SMONTHNAME7 As Long = &H3E
Private Const LOCALE_SMONTHNAME8 As Long = &H3F
Private Const LOCALE_SMONTHNAME9 As Long = &H40
Private Const LOCALE_SMONTHOUSANDSEP As Long = &H17
Private Const LOCALE_SNATIVECTRYNAME As Long = &H8
Private Const LOCALE_SNATIVECURRNAME As Long = &H1008
Private Const LOCALE_SNATIVEDIGITS As Long = &H13
Private Const LOCALE_SNATIVELANGNAME As Long = &H4
Private Const LOCALE_SNEGATIVESIGN As Long = &H51
Private Const LOCALE_SPOSITIVESIGN As Long = &H50
Private Const LOCALE_SSHORTDATE As Long = &H1F
Private Const LOCALE_SSORTNAME As Long = &H1013
Private Const LOCALE_STHOUSAND As Long = &HF
Private Const LOCALE_STIME As Long = &H1E
Private Const LOCALE_STIMEFORMAT As Long = &H1003
Private Const LOCALE_SYEARMONTH As Long = &H1006
Private Sub ChangeSettingExample()
'SetLocaleInfo API values to new values
Call SetLocalSetting(LOCALE_SDECIMAL, ".")
Call SetLocalSetting(LOCALE_STHOUSAND, ",")
Call SetLocalSetting(LOCALE_SMONDECIMALSEP, ".")
Call SetLocalSetting(LOCALE_SMONTHOUSANDSEP, ",")
Call SetLocalSetting(LOCALE_SSHORTDATE, "yyyy/MM/dd")
Call SetLocalSetting(LOCALE_SCURRENCY, "$")
Call SetLocalSetting(LOCALE_STIMEFORMAT, "HH:mm:ss")
'check your control panel to verify or use the GetLocaleInfo API function
Stop
'Restore SetLocaleInfo API values
Call SetLocalSetting(LOCALE_SDECIMAL, ",")
Call SetLocalSetting(LOCALE_STHOUSAND, ".")
Call SetLocalSetting(LOCALE_SMONDECIMALSEP, ",")
Call SetLocalSetting(LOCALE_SMONTHOUSANDSEP, ".")
Call SetLocalSetting(LOCALE_SSHORTDATE, "dd-MM-yy")
Call SetLocalSetting(LOCALE_STIMEFORMAT, "H:mm:ss")
Call SetLocalSetting(LOCALE_SCURRENCY, "€")
End Sub
Private Function SetLocalSetting(LC_CONST As Long, Setting As String) ''As Boolean
Call SetLocaleInfo(GetUserDefaultLCID(), LC_CONST, Setting)
End Function