Thảo luận mở rộng về "Useful functions - Các hàm hữu ích" của Lê Văn Duyệt (3 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Nếu ở tại workbook đó thì ta có thể dùng thuộc tính MultiUserEditing hoặc UserStatus của workbook để kiểm tra, ví dụ sau sẽ liệt kê danh sách User đang mở workbook và tình trạng share
Mã:
Sub ShowUsers()
    On Error Resume Next
    Dim arrUsers()
    Dim strMsg As String
    Dim i As Integer
    arrUsers = ThisWorkbook.UserStatus
    For i = 1 To UBound(arrUsers)
        strMsg = strMsg & arrUsers(i, 1) & " Opened: " & arrUsers(i, 2) & ", " & IIf(arrUsers(i, 3) = 2, "Shared", "Not Shared") & vbNewLine
    Next
    MsgBox strMsg
End Sub
Cám ơn rollover79, nhưng nếu mình không ở workbook đó thì làm thế nào để kiểm tra? (Đây cũng là vấn đề các bạn khác quan tâm)

Lê Văn Duyệt
 
Cám ơn rollover79, nhưng nếu mình không ở workbook đó thì làm thế nào để kiểm tra? (Đây cũng là vấn đề các bạn khác quan tâm)

Lê Văn Duyệt
Theo như đã thảo luận từ những bài trước thì tôi thấy thế này. Nếu đứng ở ngoài file đó mà muốn kiểm tra, đầu tiên ta dùng hàm IsOpen để kiểm tra, nếu trả về True thì chắc chắn file không Share và đã có người khác đang mở, còn nếu trả về False thì tôi tiến hành mở file đó, kiểm tra tình trạng share của file và số lượng user đang mở file đó(điều này có thể làm được), rồi từ đó sẽ quyết định làm gì tiếp theo(cần thiết thì lại đóng file đó lại). Vấn đề ở đây vẫn là kiểm tra để rồi làm gì tiếp theo, do đó tùy từng trường hợp để xử lý.
 
Web KT

Bài viết mới nhất

Back
Top Bottom