今回は、前回投稿した、サンプルコードの解説をしていきたいと思います。
まだ、投稿を見ていない方は下記のURLからご覧ください!
サンプルコード
Sub ImportCSV()
Dim ws As Worksheet
Dim wb As Workbook
Dim csvPath As String
Dim csvLine As String
Dim rowNumber As Long
' データを貼り付けるシートを指定
Set ws = ThisWorkbook.Sheets(1)
' CSVファイルのパスを指定
csvPath = "/sample.csv" ' パスを正確に指定
' CSVファイルをワークブックとして開く
Set wb = Workbooks.Open(csvPath)
rowNumber = 1 ' 最初の行から貼り付けを開始
' 開いたワークブックの最初のシートの各行を読み込み、Excelに貼り付ける
Dim csvRow As Range
For Each csvRow In wb.Sheets(1).UsedRange.Rows
ws.Cells(rowNumber, 1).Value = csvRow.Cells(1, 1).Value ' 最初の列の値を貼り付け
rowNumber = rowNumber + 1
Next csvRow
' 開いたCSVファイルを閉じる
wb.Close SaveChanges:=False
MsgBox "CSVファイルのインポートが完了しました!"
End Sub
解説
サブルーチンの宣言
Sub ImportCSV()
・サブルーチンの宣言「Subroutine」の略で、特定のタスクを実行するための一連の命令を定義するためのキーワード。サブルーチンは、何らかの処理を行うコードのブロックを作成し、それをプログラム内で呼び出すことができる。
・括弧は、引数を受け取るためのもので、今回は引数が指定されていません。サブルーチンが引数を必要としない場合は、このように空の括弧が使われる。
変数宣言
Dim 〜
・Dim
は「Dimension」の略で、変数を宣言するために使用されるキーワード。
VBAにおいて新しい変数を作成することができる。
・ws
は、変数の名前。ここでは、ワークシートを表す変数として名付けられている。
この名前は開発者が自由に設定でき、コードの可読性を高めるために意味のある名前を選ぶことが一般的。
コード | 意味 |
---|---|
As Worksheet | Excelのワークシートを参照するためのものを示す |
As String | 変数が文字列データを格納することを示す 文字列は、テキストデータを扱うための型で、アルファベットや数字、記号などを含むことができる |
As Long | 変数が整数型のデータを格納することを示しますLong 型は、より大きな整数値を扱うことができ、範囲は-2,147,483,648から2,147,483,647まで |
As Range | Excelシート内の特定のセルやセルの範囲を表し、これによって指定したセルの値を読み書きしたり、セルの書式を設定したりできる |
データを貼り付けるシートを指定
Set ws = ThisWorkbook.Sheets(1)
・データを貼り付けるシートを指定
シート名が、「Sheets(1)」以外のときは、下記のように「””」で囲んだシート名で指定することができる。
Set ws = ThisWorkbook.Sheets("SheetName")
CSVファイルのパスを指定
csvPath = "/sample.csv"
・CSVファイルのパスを指定している。
サンプルは、CSVファイルが同じフォルダにある前提でパスを指定しているため、階層が異なるときは、それに合わせて指定する必要がある。
絶対パスにしておけば、階層を気にしなくて良くなる。
CSVファイルを開く
Set wb = Workbooks.Open(csvPath)
・Workbooks
は、Excelのすべてのワークブックを管理するオブジェクト。Excelで開いているすべてのブックにアクセスできる。
・Open
は、指定したファイルをワークブックとして開くためのメソッド。ファイルのパスやその他のオプションを引数として指定できる。
↓下記の方法で開けることも可能
Open csvPath For Input As #1
・Open
は、ファイルを開くためのキーワード。
指定したファイルを読み取りまたは書き込みのために開く。
・For Input
は、ファイルを読み取り専用で開くことを指定。
このオプションを使用すると、ファイルの内容を読み取ることができるが、ファイルの内容を変更することはできない。
・As #1
でファイル番号を指定。
VBAでは、ファイルを開くときにファイル番号を指定することで、そのファイルを操作する際に使用。ファイル番号は1から65535までの整数で、同時に開くファイルごとに異なる番号を使用する必要がある。
CSVファイルとは?
CSV(Comma-Separated Values)ファイルは、データを「,」で区切ったテキストファイルです。Excelや他のアプリケーションでデータを簡単にやり取りするのに便利です。
最後に
今回は、サンプルコード解説の第一弾!続きは次回の投稿をご覧ください。