即効テクニック |
フォルダ内に目的のブックが存在したら開き、存在しなかった場合は新規に作成するという処理を行う場合は、On Errorステートメントを利用します。サンプルマクロでは、ブックを開く処理をした際に、Openエラーが発生したらOn Errorステートメントで指定された処理へ飛び、Addメソッドで新しいブックを作成します。エラーが発生しなかったらエラー処理を行わずに処理を終了します。
Sub Sample() 'ファイル操作の際、確認メッセージを出さない Application.DisplayAlerts = False 'シートやブックの移動を表示しない Application.ScreenUpdating = False On Error GoTo Err_chek Workbooks.Open Filename:="C:\TEMP\TEST.xls", UpdateLinks:=0 Exit Sub Err_chek: Workbooks.Add ActiveWorkbook.SaveAs Filename:="C:\TEMP\TEST.xls" End Sub
Dir関数を使って、ブックがあるかどうかを確認することもできます。