ExcelマクロVBAサンプル集
ブックを安全確実に開く方法(Open)

ExcelマクロVBAの実用サンプル、エクセルVBA集と解説
最終更新日:2013-05-14

ブックを安全確実に開く方法(Open)


マクロの中で、他のブックを開く事はよくあります。


その場合、ブックが存在しているか、既に開いてないか等のチェック方法です。



Sub Bookを開く()
  Dim wb As Workbook
  Dim buf As String
  Dim BookPath As String
  BookPath = "C:\Book1.xls"
  'ブックの存在チェック
  buf = Dir(BookPath)
  If buf = "" Then
    MsgBox BookPath & vbCrLf & "は存在しません。"
    Exit Sub
  End If
  '同名ブックのチェック
  For Each wb In Application.Workbooks
    If wb.Name = buf Then
      wb.Activate'指定ブックに移動
      MsgBox buf & vbCrLf & "は既に開いています"
      Exit Sub
    End If
  Next

  'イベントを停止

  Application.EnableEvents = False 
  'ブックを開く
  Workbooks.Open BookPath

  Application.EnableEvents = True 
End Sub


要点は、


・ブックの存在チェック
・同名ブックのチェック

この2点です。


特に、

エクセルでは、別ファイルでも、同一名称のブックは2重に開くことが出来ません。

この間違いは、マクロのテスト中は良くやってしまいます。

このようにしておけば安心です。


また、
Application.EnableEvents = False 
これは、開いたブックにWorkbook_Openマクロがあった場合で、それを起動したくない場合の指定です。





同じテーマ「マクロVBAサンプル集」の記事

シートの複数選択(Select)
複数シートの印刷(PrintOut)
重複削除してコピー(AdvancedFilter)
ブックを安全確実に開く方法(Open)
ブックを閉じる(Close)
他ブックを開いて閉じる(Open,Close)
ブックを開かずにセル値を取得(ExecuteExcel4Macro,Excel.Application)
罫線を簡単に引く(Borders,BorderAround)
マクロの開始・終了(Applicationのプロパティ)
オートフィルター(AutoFilter)
日付のオートフィルタ(AutoFilter)

新着記事NEW ・・・新着記事一覧を見る

「VBAによる解析シリーズその2 カッコ」をやってみた|エクセル(5月21日)
VBA+SeleniumBasicで検索順位チェッカー作成|VBA技術解説(5月18日)
テーブル操作のVBAコード(ListObject)|VBA入門(5月12日)
テーブル操作の概要(ListObject)|VBA入門(5月12日)
VBAのスクレイピングを簡単楽にしてくれるSelenium|VBA技術解説(5月6日)
Excelワークシート関数一覧(2010以降)|VBAリファレンス(4月22日)
クラスとCallByNameとポリモーフィズム(多態性)|VBA技術解説(4月6日)
VBAでのタイマー処理(SetTimer,OnTime)|VBA技術解説(4月3日)
クラスとイベントとマルチプロセス並列処理|VBA技術解説(4月2日)
エクセルの日付と時刻のまとめ|エクセル関数超技(3月6日)

アクセスランキング ・・・ ランキング一覧を見る

1.ひらがな⇔カタカナの変換|エクセル基本操作
2.最終行の取得(End,Rows.Count)|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.RangeとCellsの使い方|ExcelマクロVBA入門
6.変数とデータ型(Dim)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.繰り返し処理(For Next)|ExcelマクロVBA入門
9.とにかく書いて見よう(Sub,End Sub)|VBA入門
10.セルに文字を入れるとは(Range,Value)|VBA入門



  • >
  • >
  • >
  • ブックを安全確実に開く方法(Open)

    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。






    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。

    本文下部へ