2011-11-26 98 views
1

我需要将文本文件导入Excel工作表。文本文件来自Mac和PC,并包含来自各种语言的字符。对于Excel 2004年(PC),我已经成功地使用VBA代码类似下面的Mac编码的文本转换为PC-编码:Excel 2011(Mac)vba:将文本文件导入为QueryTable时文本编码失败

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的编码从PC转换到Mac ,使用

.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的情况相反。

回答

1

是不可能达到这个在Mac上,唯一的办法就是与Windows运行脚本,并为该文件回到MAC

0

这里是一个不错的在线解决方案Zoho Sheet VBA

是的,适用于您的Microsoft Excel VBA。

相关问题