如果要判斷一個指定的工作簿是否打開,可以將下面的VBA代碼放入標準模塊中,然后在子過程中進行調用。
Function IsWkbOpened(sWkbName As String) As Boolean
‘如果目標工作簿已打開則返回TRUE,否則返回FALSE
Dim i As Long
For i = Workbooks.Count To 1 Step -1
If Workbooks(i).Name = sWkbName Then
Exit For
End If
Next
‘如果工作簿未找到
If i = 0 Then
IsWkbOpened = False
Else
IsWkbOpened = True
End If
End Function
調用示例如下,將“Book2.xls”換成指定的工作簿名稱:
Sub IfWkbOpened()
If IsWkbOpened("Book2.xls") Then
MsgBox "指定的工作簿已打開"
Else
MsgBox "指定的工作簿沒有打開"
End If
End Sub