ExcelマクロVBAサンプル集 | ブックを安全確実に開く方法(Open) | Excelマクロの実用サンプル、エクセル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マクロがあった場合で、それを起動したくない場合の指定です。





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

ブックを閉じる(Close)
他ブックを開いて閉じる(Open,Close)
ブックを開かずにセル値を取得(ExecuteExcel4Macro,Excel.Application)
罫線を簡単に引く(Borders,BorderAround)
マクロの開始・終了(Applicationのプロパティ)
オートフィルター(AutoFilter)
日付のオートフィルタ(AutoFilter)

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

SUMIFの間違いによるパフォーマンスの低下について|エクセル関数超技(6月17日)
条件式のいろいろな書き方:TrueとFalseの判定とは|ExcelマクロVBA技術解説(6月15日)
空白セルを正しく判定する方法2|ExcelマクロVBA技術解説(5月6日)
フルパスをディレクトリ、ファイル名、拡張子に分ける|ExcelマクロVBA技術解説(4月15日)
テキストボックスの各種イベント|Excelユーザーフォーム入門(4月9日)
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除|ExcelマクロVBAサンプル集(4月4日)
最後の空白(や指定文字)以降の文字を取り出す|エクセル関数超技(3月26日)
先頭の数値、最後の数値を取り出す|エクセル関数超技(3月26日)
Excelファイルを開かずにシート名をチェック|ExcelマクロVBAサンプル集(3月23日)
数式の参照しているセルを取得する|ExcelマクロVBAサンプル集(3月18日)

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

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.RangeとCellsの使い方|ExcelマクロVBA入門
3.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
4.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
7.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
8.ひらがな⇔カタカナの変換|エクセル基本操作
9.定数と型宣言文字(Const)|ExcelマクロVBA入門
10.CSVの読み込み方法|ExcelマクロVBAサンプル集



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

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


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

    ↑ PAGE TOP