我正在爲將在網絡上使用它的公司編寫一些代碼。我沒有像他們的網絡那樣能夠測試,所以我正在檢查以確保代碼第一次正確!與其他用戶打開的Excel VBA文件
工作簿將它們以各種方式網絡上的其他工作表進行交互,而且基本上我需要能夠檢查:
- 目標工作簿已經是他們自己的系統上打開,並 理想:
- 無論是在同一個Excel實例打開,或
- 無論是在一個單獨的實例開放(我相信這可能 需要複製和粘貼的範圍不同的動作,節省了等 ,我需要更多地瞭解)
- 目標工作簿是由其他網絡用戶開放(此推斷它會只開放爲)只讀
我遇到很多關於檢查工作簿是否已經打開的內容,例如:http://support.microsoft.com/kb/291295
但是我還沒有發現任何明顯區分上述兩種場景的內容。
謝謝
更新
我現在使用:
Function IsFileOpenInInstance(FileName As String)
Dim ShortFileName As String
Dim ValidOpenFile As Boolean
Dim ErrNum As Integer
On Error Resume Next
ShortFileName = Dir(FileName)
If FileName = Workbooks(ShortFileName).FullName Then ValidOpenFile = True
ErrNum = Err
On Error GoTo 0
If ErrNum <> 0 Then
IsFileOpenInInstance = False
Else
IsFileOpenInInstance = ValidOpenFile
End If
End Function
感謝您的回覆。我無法找到您發送的鏈接中的相關代碼。讓我困惑一點! – iambasil