我需要將文本文件導入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的情況相反。