いつでも微笑みを。よつ葉のブログ

地元福山を中心に尾道や広島、岡山などの情報、Excel技、格安SIMや写真・カメラなどいろいろ。

【ExcelVBA】ファイルを開いているか確認するマクロ


f:id:fourleaf4:20161009160913j:image

こんばんは!よつ葉です。


今回は、ある特定のファイルを開いているかチェックするマクロです。

 

マクロの中で、ファイルを開く操作を組み込むことが多いと思いますが、既にそのファイルを開いている場合、普通に Workbooks.open で開こうとするととまってしまうので、以下のようなファイルを開いているかをチェックするコードを入れることでスマートにプログラミングできるようになります。



Sub mainflow()

 If wbcheck("wb.xlsx") <> 1 Then
 'ここでファイル名を指定する
  Workbooks.Open Filename:="c:samplewb.xlsx"
 End If

End Sub

Function wbcheck(ByVal strWbname As String)
 'このFunctionに"wb.xlsxが引き継がれる

 Dim wb As Workbook

 For Each wb In Workbooks
 '今開いているファイル数分繰り返す
  If wb.Name = strWbname Then
   wbcheck = 1
   Exit For
  End If
 Next wb
 '開いているファイルのファイル名が指定したファイル名(wb.xlsx)と
 '同じであれば、wbcheckに1を入れ、mainflowに返す
End Function



ぜひ使ってみてください♪

 

お付き合い頂きありがとうございました。

 

以上、よつ葉でした。