如何在 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** 執行程式碼,或轉到 **執行 > 執行子程式/使用者窗體**。

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

如果我們關閉檔案然後執行程式碼,它將輸出“檔案未開啟”。

更新於:2022年9月10日

772 次檢視

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.