ブックを開く
ブックを開くには、
Workbooksオブジェクト の
Openメソッド を使います。次のサンプルは、C:\Book1.xls を開きます。
Sub Sample01
Workbooks.Open "C:\Book1.xls"
End Sub
このとき注意すべきはOpenメソッドが
失敗 するケースです。ファイル名をタイプミスしたり、C:\Book1.xls が存在しないなどすると、次のエラーメッセージが表示されます。
このエラーへの対処は、次の3つが考えられます。
1.エラーを無視する
とにかくエラーで止まるのだけは何とかしたい……というのでしたら、エラーで止まらない工夫をしましょう。
On Error Resume Next という一言を加えると、以降のコマンドでエラーが発生しても、そのエラーメッセージは表示されません。
Sub Sample02
On Error Resume Next
Workbooks.Open "C:\Book1.xls"
End Sub
一般的には、On Error Resume Nextでエラーを無視した後は、再びエラーが発生するように戻しておきます。でないと、デバッグのときにエラーが起こらずパニックになります。
Sub Sample02
On Error Resume Next
Workbooks.Open "C:\Book1.xls"
On Error Goto 0
End Sub
エラーの表示を復活させる呪文は
On Error Goto 0 です。最後は半角数字の「0(ゼロ)」です。
2.ファイルの存在を調べる
C:\Book1.xlsが存在しないときエラーになるのですから、Openメソッドの前に C:\Book1.xlsが
存在するかどうか 調べます。
Sub Sample03()
If Dir ("C:\Book1.xls") <> "" Then
Workbooks.Open "C:\Book1.xls"
Else
MsgBox "ファイルが存在しません。", vbExclamation
End If
End Sub
詳しくは「
ファイルが存在しているかどうか調べる 」をご覧ください。
3.名前を指定して開く
開きたいブックをユーザーに選択してもらう方法です。
Sub Sample04()
Dim OpenFileName As String
OpenFileName = Application.GetOpenFilename ("Microsoft Excelブック,*.xls")
If OpenFileName <> "False" Then
Workbooks.Open OpenFileName
End If
End Sub
詳しくは「
名前を指定してブックを開く 」をご覧ください。
う〜む……まあ、Openメソッドでブックを開くというのは基本中の基本なわけでして。一応ファイル操作の最初にトピックを持ってきたのですが、実は奥が深い問題やさまざまな使い道があったりします。