EXCEL VBA タブ区切りで拡張子tsvを作成。

久々にEXCELネタです。

仕事で拡張子tsvのファイルを作成することがあり、作ったマクロです。

前提

OUTPUTのシートに、5列のデーターが入っている。
行数はその時々で変わる。

タブ区切りで、拡張子tsvでファイルに出力。

 Dim WORK01 As String
    Dim set_data01 As Object
    Dim recfile As Variant
    Dim BANGO

'  ***処理確認***

    MSG_FLG = MsgBox(" TSV 作成 処理実行OK?", vbYesNo)
    If MSG_FLG = vbNo Then
       Exit Sub
    End If

    WORK01 = Application.GetSaveAsFilename("D:\OUTPUT_" & CStr(Format(Date, "yyyymmdd")) & Format(Time, "hhmm") & ".tsv", "TAB区切り形式 (*.tsv), *.*")
    BANGO = FreeFile '### FreeFile関数を使うとファイル番号の重複を避けられる。
    Open WORK01 For Output As #BANGO

   '### 明細処理

    Set set_data01 = Worksheets("OUTPUT").Range("A1")
    Do Until set_data01.Offset(0, 0).value = ""
       recfile = set_data01.Offset(0, 0).value & vbTab & _
                 set_data01.Offset(0, 1).value & vbTab & _
                 set_data01.Offset(0, 2).value & vbTab & _
                 set_data01.Offset(0, 3).value & vbTab & _
                 set_data01.Offset(0, 4).value
       Print #BANGO, recfile
       Set set_data01 = set_data01.Offset(1, 0)
    Loop
   
    Close #BANGO

    MsgBox (" TSV(CSV)作成 " & WORK01 & "作成終了")

VBA(マクロ)

Posted by master