Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Como preguntar el separador de listas desde VB

1,244 views
Skip to first unread message

CAMILO

unread,
Jun 13, 2003, 3:26:14 PM6/13/03
to
Asunto: COMO CAMBIAR SEPARADOR DE LISTAS DESDE VBA
De: "CAMILO CALLE" <andres_...@hotmail.com>
Enviado: 6/13/2003 8:41:53 AM

HOLA COLEGAS

TENGO UNA APLICACION EN VBA DESARROLLADA DESDE ACCESS QUE
EXPORTA DATOS A EXCEL Y LOS FORMATEA. LA APLICACION SE
EJECUTA CORRECTAMENTE EN LOS PCs QUE TIENEN CONFIGURADO
EL
MISMO SEPARADOR DE LISTAS (PANEL DE CONTROL / CONF.
REGIONAL). DEBO SABER COMO CAMBIAR O AL MENOS PREGUNTAR
DESDE VBA EL SEPARADOR DE LISTAS DEL PC.
COMO LO HAGO?

MUCHAS GRACIAS POR SU AYUDA.

Softjaen

unread,
Jun 13, 2003, 4:09:47 PM6/13/03
to

"CAMILO" escribió:

> DEBO SABER COMO CAMBIAR O AL MENOS PREGUNTAR
> DESDE VBA EL SEPARADOR DE LISTAS DEL PC.
> COMO LO HAGO?

Hola, Camilo:

Tienes que utilizas las funciones API «GetLocaleInfo» (para conocer el
separador de listas) y «SetLocaleInfo» (para modificar el signo de separador
de listas). Adapta el siguiente código de VB:

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 SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, _
ByVal LCType As Long, ByVal lpLCData As String) As Long

Const LOCALE_USER_DEFAULT = &H400

'---------------------------------------
' Conocer el separador de listas instalado
'---------------------------------------
Dim dl As Long
Dim sBuffer As String

sBuffer = String(100, vbNullChar)
dl = GetLocaleInfo(LOCALE_USER_DEFAULT, &HC, sBuffer, 99)

If dl <> 0 Then
MsgBox Trim(sBuffer)
End If

'---------------------------------------
' Modificar el separador de listas instalado
'---------------------------------------

Dim dl As Long

' Establecemos el nuevo símbolo del separador de listas
dl = SetLocaleInfo(LOCALE_USER_DEFAULT, &HC, "|")

If dl <> 0 Then
MsgBox "Separador de listas modificado."
End If

Si me permites una sugerencia, evita escribir todo el texto del mensaje en
mayúsculas, ya que significa que estás chillando. :-)

Un saludo.

--
Enrique Martínez
[MS MVP - VB]


0 new messages