【エクセルVBA】CSVを読む方法

エクセルVBAでCSVを読む方法。細かく場合分けして書くと面倒なので、QueryTablesメソッドを使う。

    With ws.QueryTables.Add(Connection:="text;" & fName, Destination:=wsr)
        .TextFileParseType = xlDelimited   ' 区切り文字の形式
        .TextFileCommaDelimiter = True 'カンマ区切り
        .TextFileColumnDataTypes = Array(iFormat) '全ての列を文字列で読込
        .TextFilePlatform = 932 '文字コードshift-jis
        .AdjustColumnWidth = False '列幅固定
        .RefreshStyle = xlOverwriteCells
        .Refresh
        .Parent.Names(.Name).Delete
        .Delete
    End With

wsは、ワークシートを、wsrは読む位置のRangeを指定。
文字コード.TextFilePlatformは、65001(utf-8)、1200(utf-16)。

※作業メモ、備忘録のため、無味乾燥な投稿です。