Excel 2011(Mac)vba:将文本文件导入为查询表时,文本编码失败

Excel 2011(Mac)vba:将文本文件导入为查询表时,文本编码失败,vba,excel-2011,Vba,Excel 2011,我需要将文本文件导入Excel工作表。文本文件来自Mac和PC,包含各种语言的字符。对于Excel 2004(PC),我已成功使用如下vba代码将Mac编码文本转换为PC编码: Worksheets("A").Cells.Clear pth = Application.GetOpenFilename() With Worksheets("A").QueryTables.Add(Connection:="TEXT;" & pth, _ Destination:=Worksheets("A

我需要将文本文件导入Excel工作表。文本文件来自Mac和PC,包含各种语言的字符。对于Excel 2004(PC),我已成功使用如下vba代码将Mac编码文本转换为PC编码:

Worksheets("A").Cells.Clear
pth = Application.GetOpenFilename()
With Worksheets("A").QueryTables.Add(Connection:="TEXT;" & pth, _
 Destination:=Worksheets("A").Range("A1"))
    .TextFilePlatform = 10000
    .TextFileColumnDataTypes = Array(xlTextFormat)
    .Refresh
End With
Worksheets("A").QueryTables(1).Delete
我正在尝试使用类似的Excel 2011代码,使用

.TextFilePlatform = xlWindows '=2
按照运行宏记录器的建议。手动导入工作非常有效,将编码从PC更改为Mac,但在Excel 2011中运行的vba程序根本不会更改编码。TextFilePlatform参数(在我的Excel 2011版本中;不同的语言版本可能会有所不同)可以设置为1、2或3(从-1000000到1000000的任何其他整数都会给出错误5),并且对于这三种情况,生成的文本看起来完全相同。是否有其他设置否决了我转换文本编码的尝试?非常感谢您的任何建议


编辑:我已确认.TextFilePlatform=xlWindows的代码正确地将windows编码文本转换为Excel 10(2001)和Excel 11(2004)的mac编码,与上述Excel 2011的情况相反

在mac上不可能实现这一点,唯一的解决方案是在windows下运行脚本并将文件返回mac

在mac上不可能实现这一点,唯一的解决方案是在windows下运行脚本并将文件返回mac

这是一个不错的在线解决方案


是的,它与Microsoft Excel VBA配合使用效果很好。

这是一个很好的在线解决方案

是的,它与Microsoft Excel VBA配合使用效果良好