- 帖子
- 471
- 主題
- 121
- 精華
- 0
- 積分
- 579
- 點名
- 0
- 作業系統
- WIN10
- 軟體版本
- OFFICE2019
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2015-4-16
- 最後登錄
- 2023-1-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
複製代碼 |
|