テキストファイルをExcelシートにインポートする必要があります。テキストファイルはMacとPCの両方からのものであり、さまざまな言語の文字が含まれています。Excel 2004(PC)の場合、MacでコーディングされたテキストをPCでコーディングするために、以下のようなvbaコードを使用することに成功しました。
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に変更されて完全に機能しますが、Excel2011で実行されるvbaプログラムはコーディングをまったく変更しません。TextFilePlatformパラメーター(私のバージョンのExcel 2011では、異なる言語バージョンがここで異なる可能性があります)を1、2、または3に設定でき(-1000000から1000000までの他の整数はエラー5になります)、結果のテキストは正確に次のようになります。これらの3つの場合も同じです。テキストコーディングを変換する試みを無効にする他の設定はありますか?どんな提案でも大歓迎です!
編集:上記のExcel 2011の場合とは異なり、.TextFilePlatform = xlWindowsのコードは、Windowsでコード化されたテキストをExcel 10(2001)およびExcel 11(2004)のMacコーディングに適切に変換することを確認しました。