У меня аналогичная проблема с японскими персонажами раньше. В то время Excel 2003 экспортировал только CSV в Latin1 (или, может быть, Windows 1352). Я в основном писал свой собственный макрос Excel для повторения строк и столбцов и создания строки в памяти того, как будет выглядеть файл CSV. Затем я использовал ADODB.Stream, чтобы сохранить его сам. Этот образец кода должен начать работу.
Dim csvdata As String
Dim CRLF As String
Dim objStream As Object
CRLF = Chr(13) & Chr(10)
csvdata = """key"",""value""" + CRLF
csvdata = csvdata + """a"",""a""" + CRLF
csvdata = csvdata + """aacute"",""á""" + CRLF
Set objStream = CreateObject("ADODB.Stream")
objStream.Open
objStream.Position = 0
objStream.Charset = "UTF-8"
objStream.WriteText csvdata
objStream.SaveToFile "test.csv", 2 ' adSaveCreateOverWrite
objStream.Close