Cómo exportar Excel a un archivo csv con el código "|" delimitado y utf-8

Tuve que exportar el archivo de Excel a un archivo CSV a través del script vba. El archivo csv debe ser código utf-8 y delimitado es "|"

Utilizo SetLocaleInfo para configurar la lista por separado como "|", pero solo afecta a "xlcsv" y no a "xlunicodetext".

Private Function SetLocalSetting(LC_CONST As Long, strSetting As String) As Boolean

    SetLocaleInfo GetUserDefaultLCID(), LC_CONST, strSetting

 End Function
 SetLocalSetting LOCALE_SLIST, "|"

Cuando usar "xlUnicodeText", el código es UTF-8, pero el separador de la lista sigue siendo "Tab"

.SaveAs filename:="C:\temp\1.csv", FileFormat:=xlUnicodeText, Local:=True

Cuando usar "xlCSV", el separador de lista sigue siendo "|" lo que necesito, pero la página de códigos es ANSI.

.SaveAs filename:="C:\temp\1.csv", FileFormat:=xlcsv, Local:=True

Cómo exportar un archivo csv con "|" separador y UTF-8?

Respuestas a la pregunta(1)

Su respuesta a la pregunta