Có code nào cấm user không đăng ký khi mở file không ? (1 người xem)

Liên hệ QC

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

Lê Duy Thương

Cạo lấy gì gội (Dịch quá không gội được)
Tham gia
14/10/09
Bài viết
3,113
Được thích
4,852
Xin các bác viết dùm code cấm user không có tên trong file không được phép truy cập
ví dụ
đại loại là như thế này
có 6 user như
1 le duy thuong
2 pmt..
3 dat_but muc
4 ndu...
5 sealand
6 bntt
---6 cái tên này được đặt ở 1 sheet hay một range nào đó trong workbook( hay ở đâu cũng được)
khi người dùng mở file lên code sẽ tự search user nếu đúng thì mở luôn, còn sai thì msgbox báo không có quyền đăng nhập
và đóng file lại
cách thông thường trong excel là đặt pass và cung cấp cho user sử dụng thì em biết rồi
nhưng còn cái vụ này thì em chưa biết .
 
Xin các bác viết dùm code cấm user không có tên trong file không được phép truy cập
ví dụ
đại loại là như thế này
có 6 user như
1 le duy thuong
2 pmt..
3 dat_but muc
4 ndu...
5 sealand
6 bntt
---6 cái tên này được đặt ở 1 sheet hay một range nào đó trong workbook( hay ở đâu cũng được)
khi người dùng mở file lên code sẽ tự search user nếu đúng thì mở luôn, còn sai thì msgbox báo không có quyền đăng nhập
và đóng file lại
cách thông thường trong excel là đặt pass và cung cấp cho user sử dụng thì em biết rồi
nhưng còn cái vụ này thì em chưa biết .
Code để lấy User Name là: Environ("UserName")
Ví dụ:
PHP:
Sub GetUserName()
  MsgBox Environ("UserName")
End Sub
Từ đó mà tùy biến tiếp
 
Upvote 0
í anh là như vậy phải không

PHP:
Private Sub CommandButton1_Click()
            For i = 1 To Sheets("Logins").Range("A65536").End(xlUp).Row
                If Sheets("Logins").Cells(i, 1).Value = Environ("UserName") Then MsgBox "ok": Unload Me:ExitSub
            Next i

End Sub
hay
 
Lần chỉnh sửa cuối:
Upvote 0
code để lấy user name là: Environ("username")
ví dụ:
PHP:
sub getusername()
msgbox environ("username")
end sub
từ đó mà tùy biến tiếp

cái này là khi mở file lên rồi
ý em là khi mình click vào file thì nó chạy giống như file có pass vậy. Tức là khi đúng user thì không hỏi pass còn khác thì không cho xem file
em không thích cài pass bảo vệ workbook nên chỉ hạn chế người dùng file thôi
 
Upvote 0
cái này là khi mở file lên rồi
ý em là khi mình click vào file thì nó chạy giống như file có pass vậy. Tức là khi đúng user thì không hỏi pass còn khác thì không cho xem file
em không thích cài pass bảo vệ workbook nên chỉ hạn chế người dùng file thôi
Thì đấy chỉ là gợi ý thôi... Đương nhiên phải lấy được User Name trên máy tính thì mới có cái mà so sánh chứ ---> Còn việc so sánh thế nào, so sánh vào đâu, tự bạn nghiên cứu thêm đi... (quá dễ) ---> Có thể dùng Find Methoad (nếu các User name bạn lưu vào 1 vùng)... Có thể dùng vòng lập (nếu các User Name bạn lưu vào chổ khác)
Ví dụ đơn giản như vầy:
PHP:
Sub Auto_Open()
  Dim Users, Item, Check As Boolean
  Users = Array("le duy thuong", "ptm0412", "dat_butmuc", "sealand")
  For Each Item In Users
    If UCase(Item) = UCase(Environ("username")) Then
      Check = True: Exit Sub
    End If
  Next
  If Check = False Then
    MsgBox "Ban khong có quyen truy cap vào file này!"
    ThisWorkbook.Close (False)
  End If
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Xin các bác viết dùm code cấm user không có tên trong file không được phép truy cập
ví dụ
đại loại là như thế này
có 6 user như
1 le duy thuong
2 pmt..
3 dat_but muc
4 ndu...
5 sealand
6 bntt
---6 cái tên này được đặt ở 1 sheet hay một range nào đó trong workbook( hay ở đâu cũng được)
khi người dùng mở file lên code sẽ tự search user nếu đúng thì mở luôn, còn sai thì msgbox báo không có quyền đăng nhập
và đóng file lại
cách thông thường trong excel là đặt pass và cung cấp cho user sử dụng thì em biết rồi
nhưng còn cái vụ này thì em chưa biết .

Mình gửi bạn code minh họa đơn giản nhất. Hy vọng đúng ý bạn.
PHP:
Private Sub CommandButton1_Click()
Dim i As Long, ok As Boolean
With Sheet1
    For i = 1 To .[A65536].End(xlUp).Row
        If .Cells(i, 1).Value = TextBox1.Value And .Cells(i, 2).Value = TextBox2.Value Then ok = True
    Next
    If Not ok Then
            MsgBox "Tai khoan dang nhap khong dung !"
            ActiveWorkbook.Close savechanges:=vbNo
    Else
        MsgBox "Chuc mung ban da dang nhap thanh cong !"
        Unload Me
    End If
End With
End Sub
 

File đính kèm

Upvote 0
Thì đấy chỉ là gợi ý thôi... Đương nhiên phải lấy được User Name trên máy tính thì mới có cái mà so sánh chứ ---> Còn việc so sánh thế nào, so sánh vào đâu, tự bạn nghiên cứu thêm đi... (quá dễ) ---> Có thể dùng Find Methoad (nếu các User name bạn lưu vào 1 vùng)... Có thể dùng vòng lập (nếu các User Name bạn lưu vào chổ khác)
Ví dụ đơn giản như vầy:
PHP:
Sub Auto_Open()
  Dim Users, Item, Check As Boolean
  Users = Array("le duy thuong", "ptm0412", "dat_butmuc", "sealand")
  For Each Item In Users
    If UCase(Item) = UCase(Environ("username")) Then
      Check = True: Exit Sub
    End If
  Next
  If Check = False Then
    MsgBox "Ban khong có quyen truy cap vào file này!"
    ThisWorkbook.Close (False)
  End If
End Sub

Mình gửi bạn code minh họa đơn giản nhất. Hy vọng đúng ý bạn.

PHP:
 Private Sub CommandButton1_Click() 
Dim i As Long, ok As Boolean 
With Sheet1 
    For i = 1 To .[A65536].End(xlUp).Row 
        If .Cells(i, 1).Value = TextBox1.Value And .Cells(i, 2).Value = TextBox2.Value Then ok = True 
    Next 
    If Not ok Then 
            MsgBox "Tai khoan dang nhap khong dung !" 
            ActiveWorkbook.Close savechanges:=vbNo 
    Else 
        MsgBox "Chuc mung ban da dang nhap thanh cong !" 
        Unload Me 
    End If 
End With 
End Sub
thật không ngờ excel có thể làm được như thế này.tuy những code trên không có tính bảo mật cao nhưng dù sao cũng hạn chế phần nào số lượng đăng nhập .và điều quan trọng là excel có thể làm được hơn ngoài việc tính toán
 
Upvote 0
Thì đấy chỉ là gợi ý thôi... Đương nhiên phải lấy được User Name trên máy tính thì mới có cái mà so sánh chứ ---> Còn việc so sánh thế nào, so sánh vào đâu, tự bạn nghiên cứu thêm đi... (quá dễ) ---> Có thể dùng Find Methoad (nếu các User name bạn lưu vào 1 vùng)... Có thể dùng vòng lập (nếu các User Name bạn lưu vào chổ khác)
Ví dụ đơn giản như vầy:
PHP:
Sub Auto_Open()
  Dim Users, Item, Check As Boolean
  Users = Array("le duy thuong", "ptm0412", "dat_butmuc", "sealand")
  For Each Item In Users
    If UCase(Item) = UCase(Environ("username")) Then
      Check = True: Exit Sub
    End If
  Next
  If Check = False Then
    MsgBox "Ban khong có quyen truy cap vào file này!"
    ThisWorkbook.Close (False)
  End If
End Sub
đơn giản mà hay.dễ hiểu mà độc.cảm Ơn rất nhiều
 
Upvote 0

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

Back
Top Bottom