見出し画像

CSV ファイルに出力する

 Excel VBA を利用して CSV ファイルに出力する方法をご説明します。

基本的な手順

  1. 変数の宣言: 出力するデータやファイルパスなどを格納するための変数を宣言します。

  2. ファイルを開く: Open ステートメントを使って、CSV ファイルを書き込みモードで開きます。

  3. データを書き込む: Print # ステートメントを使って、データを一行ずつ CSV ファイルに書き込みます。

  4. ファイルを閉じる: Close ステートメントを使って、CSV ファイルを閉じます。

サンプルコード

VB.Net

Sub CSV出力()
    Dim ws As Worksheet
    Dim lastRow As Long, lastCol As Long
    Dim filename As String
    Dim i As Long, j As Long

    ' 出力するシートを設定
    Set ws = ThisWorkbook.Sheets("Sheet1") ' 出力したいシート名を指定

    ' 最終行と最終列を取得
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column

    ' ファイル名を設定
    filename = "C:\temp\output.csv" ' 出力先のパスとファイル名を指定

    ' CSVファイルを開く
    Open filename For Output As #1

    ' データを書き込む
    For i = 1 To lastRow
        For j = 1 To lastCol
            Print #1, ws.Cells(i, j),
        Next j
        Print #1, "" ' 改行
    Next i

    ' ファイルを閉じる
    Close #1

    MsgBox "CSVファイルが出力されました。"
End Sub

コードは注意してご使用ください。

コード解説

  • ws: 出力するワークシートを指定します。

  • lastRow, lastCol: データの最終行と最終列を取得します。

  • filename: 出力する CSV ファイルのパスとファイル名を指定します。

  • i, j: ループ変数です。

  • Open filename For Output As #1: filename で指定したファイルを書き込みモードで開き、ファイル番号 1 に割り当てます。

  • Print #1, ws.Cells(i, j),: ファイル番号 1 に、セル ws.Cells(i, j) の値を出力します。カンマ (,) で区切ることで、CSV 形式になります。

  • Print #1, "": 空行を出力して、次の行に移ります。

注意点

  • 文字コード: CSV ファイルの文字コードは、システムのロケールや Excel の設定によって異なります。Shift-JIS や UTF-8 など、適切な文字コードで保存するようにしてください。

  • 区切り文字: CSV ファイルの区切り文字は、通常はカンマ (,) です。他の文字を使用する場合は、Print ステートメントで出力する際に、その文字で区切ります。

  • 改行コード: 改行コードは、システムによって異なります。Windows では CRLF、Unix/Linux では LF が一般的です。

  • エラー処理: ファイルの開閉や書き込み時にエラーが発生する可能性があります。エラー処理を追加することで、プログラムの安定性を高めることができます。

応用

  • 特定範囲の出力: 出力する範囲を指定することで、一部のデータだけを CSV ファイルに出力できます。

  • ヘッダーの出力: 1行目にカラム名を出力することで、CSV ファイルの見やすさを向上できます。

  • 書式設定: 数値の表示形式などを調整することで、CSV ファイルのフォーマットをカスタマイズできます。

その他

  • アドイン: Excel のアドインを利用することで、より簡単に CSV 出力を行うことができます。

  • 他のプログラミング言語: VBA 以外にも、Python や C# など、さまざまなプログラミング言語で CSV 出力を実現できます。

まとめ

 Excel VBA を利用して CSV ファイルに出力する方法を解説しました。このサンプルコードを参考に、ご自身の環境に合わせてカスタマイズしてください。

この記事が気に入ったらサポートをしてみませんか?