2023年3月3日金曜日

VBAでcsvファイルを開く

 VBAでcsvファイルを開く

QueryTableで開くと速いという記事を見つけたので試してみた。別に早くない。区切り文字が決まっているならline inputで1行づつ読んでsplitして配列に入れて貼り付けるほうが早い。


sub open_csv()

    Dim msh, fname

    fname ="C:\local\test.csv"

    msh ="test"

    Sheets.Add(After:=Sheets(Sheets.Count)).Name  = msh

    Set ws = Sheets(msh)

    Set qt = ws.QueryTables.Add(Connection:="TEXT;" & fname, Destination:=ws.Range("A1")) 

    With qt

        .TextFilePlatform = 932          ' 文字コードを指定

        .TextFileParseType = xlDelimited ' 区切り文字の形式

        .TextFileCommaDelimiter = True   ' カンマ区切り

        .RefreshStyle = xlOverwriteCells ' セルに上書き

        .Refresh                         ' データを表示

        .Delete                          ' CSV との接続を解除

    End With


End Sub



0 件のコメント:

コメントを投稿