Usando el sistema LOCALE_NAME_USER_DEFAULT constante en vba

Preguntas¿Puedo usar elLOCALE_NAME_USER_DEFAULT sistema constante en VBA, o necesito usar elGetUserDefaultLocaleName() funcionar en su lugar?Si puedo usarLOCALE_NAME_USER_DEFAULT constante del sistema, ¿cómo obtengo su valor?Antecedentes

Yo uso vba para convertir el valor del separador de lista del sistema de, a|, reinicie Excel, use vba para hacer un csv necesario con el| separador, luego restaure el valor de Separador de lista a predeterminado y cierre Excel.

A veces el separador de listas no cambia como se esperaba, así que ahora estoyadaptando el método encontrado aquí para desarrollar una salvaguarda que verifique el valor actual para asegurarse de que sea|.

Microsoft actualmente recomiendaque usamos los más actuales GetLocaleInfoEx() en lugar deGetLocaleInfo() para fines de interoperabilidad.

Me está costando mucho obtener el valor deLOCALE_NAME_USER_DEFAULT sistema constante en VBA que menciona la documentación. Aquí está el fragmento relevante de lo que tengo hasta ahora:

Private Const LOCALE_SLIST = &HC
Private Const LOCALE_NAME_MAX_LENGTH = 85
'Private Const LOCALE_NAME_USER_DEFAULT <-- stuck here, it wants me to declare it = to something, but I want the system value

'Get Locale Info
Private Declare Function GetLocaleInfoEx _
Lib "kernel32" ( _
ByVal lpLocaleName As String, _
ByVal LCType As Long, _
ByVal lpLCData As String, _
ByVal cchData As Long) As Long


Sub SubName()

    Dim lpLCData As String

        Long1 = GetLocaleInfoEx(LOCALE_NAME_USER_DEFAULT, LOCALE_SLIST, lpLCData, 0)

¿Pueden ayudarme a averiguar cómo obtener la constante del sistema paraLOCALE_NAME_USER_DEFAULT entonces puedo usar esta función en VBA de manera similar a laC ejemplo encontrado aquí:

https://stackoverflow.com/a/17674047/4691433

Respuestas a la pregunta(1)

Su respuesta a la pregunta