EXCELのVBAを使ってCSVファイルを開く!エンコードの指定も!

スポンサーリンク
050-VBA

へっぽこヘタレシステム管理者の管理人です。

さて、昨日に引き続き・・・

ある部署からエクセルのマクロの作成を依頼され・・・

その過程で、いくつか部品を作ったので忘備録として掲載します。

スポンサーリンク

EXCELのマクロを使ってCSVファイルを開く

まずは、コードです。

例では、マクロ1に割り当てています。

Sub Macro1()
'
' Macro1 Macro
'
        Dim ws As Worksheet
        Set ws = ActiveSheet ' CSV のデータを取り込むシート
    
        Dim qt As QueryTable
        Set qt = ws.QueryTables.Add(Connection:="TEXT;ファイルのフルパス", Destination:=ws.Range("A1")) ' CSV を開く

        
        With qt
            .TextFilePlatform = 65001          ' 文字コードを指定

              'エンコード Shift-JIS 932 UTF-8 65001 UTF-16 1200
            .TextFileParseType = xlDelimited ' 区切り文字の形式
            .TextFileCommaDelimiter = True   ' カンマ区切り
            .RefreshStyle = xlOverwriteCells ' セルに上書き
            .Refresh                         ' データを表示
            .Delete                          ' CSV との接続を解除
        End With


End Sub

コードの処理は次のとおりです。

CSVを読み込むシートを指定【例ではアクティブシート】

スポンサーリンク

シートのどこから書き込むか【例ではアクティブシートのA1から】

ブログランキングにご協力ください!
ブログランキング・にほんブログ村へ

CSVファイルをフルパスで指定

WITH句で、CSVの条件を指定【例では、カンマ区切り・エンコードはUTF-8】

ブログ開設に必要なドメイン取得、サーバーレンタル、ASPの登録等は、こちらのサイトから!

コメント

タイトルとURLをコピーしました