acho que dá sim:
veja este exemplo;
copiar este código num módulo modConfRegionais.bas:
Option Explicit
Private Declare Function apiLerInfoRegional 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 apiGrvInfoRegional Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Boolean
Private Declare Function apiObterPadraoLCID Lib "kernel32" Alias "GetUserDefaultLCID" () As Long
Public Enum enuFluxoDados
FLXD_Leitura = &H1
FLXD_Gravacao = &H2
End Enum
Public Enum enuRegional
LOCALE_ICENTURY = &H24
LOCALE_ICOUNTRY = &H5
LOCALE_ICURRDIGITS = &H19
LOCALE_ICURRENCY = &H1B
LOCALE_IDATE = &H21
LOCALE_IDAYLZERO = &H26
LOCALE_IDEFAULTCODEPAGE = &HB
LOCALE_IDEFAULTCOUNTRY = &HA
LOCALE_IDEFAULTLANGUAGE = &H9
LOCALE_IDIGITS = &H11
LOCALE_IINTLCURRDIGITS = &H1A
LOCALE_ILANGUAGE = &H1
LOCALE_ILDATE = &H22
LOCALE_ILZERO = &H12
LOCALE_IMEASURE = &HD
LOCALE_IMONLZERO = &H27
LOCALE_INEGCURR = &H1C
LOCALE_INEGSEPBYSPACE = &H57
LOCALE_INEGSIGNPOSN = &H53
LOCALE_INEGSYMPRECEDES = &H56
LOCALE_IPOSSEPBYSPACE = &H55
LOCALE_IPOSSIGNPOSN = &H52
LOCALE_IPOSSYMPRECEDES = &H54
LOCALE_ITIME = &H23
LOCALE_ITLZERO = &H25
LOCALE_NOUSEROVERRIDE = &H80000000
LOCALE_S1159 = &H28
LOCALE_S2359 = &H29
LOCALE_SABBREVCTRYNAME = &H7
LOCALE_SABBREVDAYNAME1 = &H31
LOCALE_SABBREVDAYNAME2 = &H32
LOCALE_SABBREVDAYNAME3 = &H33
LOCALE_SABBREVDAYNAME4 = &H34
LOCALE_SABBREVDAYNAME5 = &H35
LOCALE_SABBREVDAYNAME6 = &H36
LOCALE_SABBREVDAYNAME7 = &H37
LOCALE_SABBREVLANGNAME = &H3
LOCALE_SABBREVMONTHNAME1 = &H44
LOCALE_SCOUNTRY = &H6
LOCALE_SCURRENCY = &H14
LOCALE_SDATE = &H1D
LOCALE_SDAYNAME1 = &H2A
LOCALE_SDAYNAME2 = &H2B
LOCALE_SDAYNAME3 = &H2C
LOCALE_SDAYNAME4 = &H2D
LOCALE_SDAYNAME5 = &H2E
LOCALE_SDAYNAME6 = &H2F
LOCALE_SDAYNAME7 = &H30
LOCALE_SDECIMAL = &HE
LOCALE_SENGCOUNTRY = &H1002
LOCALE_SENGLANGUAGE = &H1001
LOCALE_SGROUPING = &H10
LOCALE_SINTLSYMBOL = &H15
LOCALE_SLANGUAGE = &H2
LOCALE_SLIST = &HC
LOCALE_SLONGDATE = &H20
LOCALE_SMONDECIMALSEP = &H16
LOCALE_SMONGROUPING = &H18
LOCALE_SMONTHNAME1 = &H38
LOCALE_SMONTHNAME10 = &H41
LOCALE_SMONTHNAME11 = &H42
LOCALE_SMONTHNAME12 = &H43
LOCALE_SMONTHNAME2 = &H39
LOCALE_SMONTHNAME3 = &H3A
LOCALE_SMONTHNAME4 = &H3B
LOCALE_SMONTHNAME5 = &H3C
LOCALE_SMONTHNAME6 = &H3D
LOCALE_SMONTHNAME7 = &H3E
LOCALE_SMONTHNAME8 = &H3F
LOCALE_SMONTHNAME9 = &H40
LOCALE_SMONTHOUSANDSEP = &H17
LOCALE_SNATIVECTRYNAME = &H8
LOCALE_SNATIVEDIGITS = &H13
LOCALE_SNATIVELANGNAME = &H4
LOCALE_SNEGATIVESIGN = &H51
LOCALE_SPOSITIVESIGN = &H50
LOCALE_SSHORTDATE = &H1F
LOCALE_STHOUSAND = &HF
LOCALE_STIME = &H1E
LOCALE_STIMEFORMAT = &H1003
End Enum
Public Function sInfoRegional(ByVal eFluxoDados As enuFluxoDados, _
ByVal eInfoRegional As enuRegional, _
Optional ByVal sNovoValor As String = vbNullString) As String
Dim lRet1 As Long, lRet2 As Long, nPos1 As Integer
Dim lRegional As Long, sInfo1 As String, sInfo2 As String
sInfoRegional = vbNullString
'-- Início ...
sInfo1 = vbNullString
sInfo2 = vbNullString
sNovoValor = Trim$(sNovoValor)
lRegional = apiObterPadraoLCID()
'-- Processamento ...
Select Case eFluxoDados
Case enuFluxoDados.FLXD_Leitura
lRet1 = apiLerInfoRegional(lRegional, eInfoRegional, sInfo2, 0)
sInfo1 = String$(lRet1, 0)
lRet2 = apiLerInfoRegional(lRegional, eInfoRegional, sInfo1, lRet1)
nPos1 = InStr(sInfo1, Chr$(0))
sInfo2 = IIf((nPos1 > 0), Left$(sInfo1, (nPos1 - 1)), vbNullString)
Case enuFluxoDados.FLXD_Gravacao
lRet1 = apiGrvInfoRegional(lRegional, eInfoRegional, sNovoValor)
If Not (lRet1 = 1) Then GoTo Sair
sInfo2 = sNovoValor
End Select
'-- Sucesso ...
sInfoRegional = sInfo2
Sair:
End Function
copia este código num form frmConfRegionais com um commandbutton:
Option Explicit
Private Sub Command1_Click()
'Obter informações das configurações regionais(regional settings) do windows, assim como pode gravar,
'conforme as constantes de configurações fornecidas a função sInfoRegional.
MsgBox "Formato de data longa:" & vbCrLf & sInfoRegional(FLXD_Leitura, LOCALE_SLONGDATE) & vbCrLf & vbCrLf _
& "Formato de data curta:" & vbCrLf & sInfoRegional(FLXD_Leitura, LOCALE_SSHORTDATE) & vbCrLf & sInfoRegionais(FLXD_Leitura, LOCALE_SGROUPING)
End Sub