【ExcelVBA】ファイルを開いているか確認するマクロ
こんばんは!よつ葉です。
今回は、ある特定のファイルを開いているかチェックするマクロです。
マクロの中で、ファイルを開く操作を組み込むことが多いと思いますが、既にそのファイルを開いている場合、普通に 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
ぜひ使ってみてください♪
お付き合い頂きありがとうございました。
以上、よつ葉でした。