Workbooks.Openメソッドで開く
すでにデータなどが保存されているエクセルファイルを開く時は、Workbooks.Openメソッドを使います。
Openする時は、フルパス(フォルダとファイル名)で指定します。
コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
'開くエクセルファイルを管理する変数 Dim openExcelFile As Workbook 'ファイルを開く Set openExcelFile = Workbooks.Open("C:\エクセル用フォルダ\生徒一覧表.xlsx") '開いたファイルに対する処理 With openExcelFile 'シートの追加や、セルのデータを編集 End With |
解説
Workbooks.Openでファイルを開く時、ファイル名だけではどこにあるかわからないので、フルパスでファイルを指定しています。
場所 | C:\エクセル用フォルダ |
---|---|
ファイル名 | 生徒一覧表.xlsx |
また、エクセルファイルを開いたタイミングで、ワークブック変数(openExcelFile)に開いたエクセルファイルをセットしています。
以降の処理では、このワークブック変数を使って、対象のエクセルファイル(ブック)を指定します。そうすることで、「シートの追加」や「セルの編集」の対象となるファイルが明確になり、バグが発生しにくくなります。
POINT
・開くファイルはフルパスで指定する。
・開いたファイルは、変数にセットして管理する。
「対象のエクセルファイルを指定する理由がいまいちわからない・・・」と思った人は、「セルを扱う時はファイル名・シート名も指定」で詳しく書いてるので読んでみてください。
セルを扱う時はファイル名・シート名も指定
当サイト「えくとしょ」や多くの参考書でも、セルの値を調べたり、セットする時にRangeでセルの位置だけを指定してプログラムしています。
でもキビシイ見方をすると、
「セルの位置は指定しているけど、ファイルとシートは指定していない」
...
ファイルを開く時のテクニック
ファイルを開く前に次の2つのチェックを行うと、プログラムの品質が高くなります。
- 開くファイルが存在するか?
- 同じファイル名のファイルがすでに開かれていないか?
(同じファイル名のファイルを複数同時に開けないため)