制御 既に開かれているブックがあれば閉じる

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。


Sub OpenExcelCount()
Dim I, ThisName As String, A As Boolean
A = False
ThisName = ThisWorkbook.Name
If Workbooks.Count <> 1 Then
MsgBox "既に開かれているブックが  " & Workbooks.Count - 1 & " 個あります。" & vbCr & vbCr & "閉じてから実行してください。", vbCritical, ThisName
A = True
For Each I In Workbooks
If ThisName <> I.Name Then
    MsgBox I.Name & "を閉じてください。", vbCritical, ThisName
End If
Next

End If

If A = True Then
MsgBox "一旦" & ThisWorkbook.Name & "を閉じます。", vbCritical, ThisWorkbook.Name
ThisWorkbook.Close
End If
End Sub

 

2000年01月01日|[VBサンプルコード]:[制御]