標題:
[發問]
請問此判斷區網檔案是否處於開啟狀態的指令,如何做修正
[打印本頁]
作者:
starry1314
時間:
2015-8-5 11:17
標題:
請問此判斷區網檔案是否處於開啟狀態的指令,如何做修正
本帖最後由 starry1314 於 2015-8-5 11:22 編輯
目前可正常判斷檔案狀態,但不知如何修改可讓在未開啟狀態的時候 執行
Workbooks.Open "\\客服\客戶維護區\A區\客戶明細.xlsm"
複製代碼
須放在 Sub 開啟A區() 內,或是再MsgBox "檔案" & IIf(IsFileOpen(strPath), "他人使用中,不可開啟", "未遭他人開啟,可使用") 可設定不可開啟則結束程式,
可使用則繼續執行下一步則可將開啟檔案放在下一段
Sub 開啟A區()
Dim strPath As String
strPath = "\\客服\客戶維護區\A區\客戶明細.xlsm"
If Len(Dir(strPath)) = 0 Then
Workbooks.Open "\\客服\客戶維護區\A區\客戶明細.xlsm"
Else
MsgBox "檔案" & IIf(IsFileOpen(strPath), "他人使用中,不可開啟", "未遭他人開啟,可使用")
End If
End Sub
複製代碼
Function IsFileOpen(strFile As String) As Boolean
Dim iFile As Integer
Dim iErr As Integer
On Error Resume Next
iFile = FreeFile()
Open strFile For Input Lock Read As #iFile '以鎖定方式開啟,開啟指定檔案後直接關閉檔案
Close iFile
iErr = Err '將錯誤號碼帶入iErr變數中,然後依照數字即可得知檔案狀態
On Error GoTo 0
Select Case iErr
Case 0
IsFileOpen = False
Case 70
IsFileOpen = True
Case 53
MsgBox "找不到檔案,請再確認!"
IsFileOpen = False
Case 76
MsgBox "找不到路徑,請再確認!"
IsFileOpen = False
End Select
End Function
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)