wrote :: 2001.12.05

トップページ > Excel > VBA > 講座:ファイルの操作 > ブックを開く


ブックを開く

ブックを開くには、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メソッドでブックを開くというのは基本中の基本なわけでして。一応ファイル操作の最初にトピックを持ってきたのですが、実は奥が深い問題やさまざまな使い道があったりします。


[目次]戻る← | →進む[名前を指定してブックを開く]