CSVが文字コードUTF-8かどうかの判定
かなりデータ量が多い(10万レコード超)CSVファイルが、100件近くあります。これをエクセルに取り込んで順次同じような作業をしようと思っています。とりあえずCSVを以下のコードで開いています。
Sub CSV入力4() 'クエリーテーブルを使ったCSV読み込みVBAコード
Dim myFile As Variant
myFile = Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv", Title:="CSVファイルの選択")
If myFile = False Then
Exit Sub
End If
ActiveSheet.Cells.Clear
With ActiveSheet.QueryTables.Add(Connection:="text;" & myFile, Destination:=Range("A1"))
' .TextFilePlatform = 932 'Shift_Jis
.TextFilePlatform = 65001 'UTF8
.TextFileCommaDelimiter = True
.Refresh BackgroundQuery:=False
.Delete
End With
MsgBox "読込完了"
End Sub
問題は、CSVに拡張子で区別できないUTF-8のCSVファイルがあることです。事前にわかっていれば
.TextFilePlatform = 932 'Shift_Jis
.TextFilePlatform = 65001 'UTF8
の使い分けで対応できるのですが、開いてみて文字化けがあるかどうか調べないとわかりません。自動的に判定する方法はないでしょうか?