如何在 Excel 中快速檢查檔案(工作簿)是開啟還是關閉
如果您在一個團隊中工作,不可避免地會遇到許多人嘗試使用同一檔案的情況。當您的團隊成員正在檢視工作簿中的某些資訊時,您可能同時嘗試重新命名計算機上的檔案。
如果您嘗試使用宏執行此操作,則很可能會收到執行時錯誤。這是因為當您手動執行檔案時,通常會產生可接受的警告訊息;但是,如果您嘗試使用宏執行此操作,則很可能會收到錯誤。其他將使用您的宏的使用者很可能不知道此錯誤的意義。
為了避免這種情況,本教程將演示如何使用 VBA 程式碼檢視檔案是否已被其他使用者開啟。
使用 VBA 檢查工作簿是否已開啟
Excel 需要您同時開啟多個工作簿以便您可以同時處理它們;但是,當您同時開啟數十個工作簿時,很難跟蹤哪些工作簿已開啟,哪些工作簿已關閉。
請按照以下步驟新增 VBA 程式碼以檢查工作簿是否已開啟。
步驟 1
在我們的示例中,我們打開了一個 Excel 檔案,如下面的影像所示。

步驟 2
同時按下 **Alt+F11** 鍵以開啟 Microsoft Visual Basic for Applications 視窗。然後單擊 **插入 > 模組**。

步驟 3
然後在空白模組中新增以下 VBA 程式碼。
Function IsFileOpen(Name As String) As Boolean Dim xWb As Workbook On Error Resume Next Set xWb = Application.Workbooks.Item(Name) IsFileOpen = (Not xWb Is Nothing) End Function
然後透過將檔名作為引數傳遞給上述函式,在給定程式碼中呼叫上述函式。
Sub Sample() Dim xRet As Boolean xRet = IsFileOpen("Test.xlsx") If xRet Then MsgBox "The file is open", vbInformation, "VBOutput" Else MsgBox "The file is not open", vbInformation, "VBOutput" End If End Sub
在上面的程式碼中,**Test.xlsx** 是我們要檢查(是否已開啟或關閉)的工作簿的名稱。

步驟 4
然後按 **F5** 執行程式碼,或轉到 **執行 > 執行子程式/使用者窗體**。

執行上述程式碼將產生如下面的影像所示的輸出。

如果我們關閉檔案然後執行程式碼,它將輸出“檔案未開啟”。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP