Chào các bạn! Mình có làm một bài Excel tạo form đăng nhập nhưng mình chưa tạo được form thay đổi thông tin đăng nhập khi đăng nhập đúng. Do đó, khi muốn thay đổi phải mở Vba lên để mà thay đổi trong đó. Rất là phiền phức. Bạn nào biết thì chỉ dùm nhe. Tải file đính kèm xem thử nhe!
Xin cám ơn.
Liên lạc với mình qua truongminhthi999@gmail.com
Chào các bạn! Mình có làm một bài Excel tạo form đăng nhập nhưng mình chưa tạo được form thay đổi thông tin đăng nhập khi đăng nhập đúng. Do đó, khi muốn thay đổi phải mở Vba lên để mà thay đổi trong đó. Rất là phiền phức. Bạn nào biết thì chỉ dùm nhe. Tải file đính kèm xem thử nhe!
Xin cám ơn.
Liên lạc với mình qua truongminhthi999@gmail.com
Cám ơn bạn rất nhiều. Nhưng chắc bạn nhằm ý của mình rùi. Ý của mình là khi đăng nhập thành công trên sheet có một nút lệnh khi click vào thì hiện form với các nội dung như tên đăng nhập mới, mật khẩu mới. Sau khi điền đầy đủ thông tin và click lên nút lệnh "thay đổi" thì tên đăng nhập và mật khẩu để mở bài Excel lúc này là thông tin vừa nhập vào. Ở bài của bạn hay hơn bài của mình là khi đăng nhập đúng mới mở bài lên, còn bài của mình khi mở lên là đã hiện cả dung của sheet đầu rùi chỉ là không thao tác được trên nó thôi. Rất mong được sự giúp đỡ tiếp tục của bạn và mọi người.
Xin cám ơn!
Chào thân ái.
file của ducky khi mở bằng excel 2007 thì user và pass lòi ra hết trơn rôì, sau đó mới "enable this content" thì còn gì là đăng nhập nữa. có cách nào mà nó hiện form đăng nhập lên luôn ko nhỉ?
Tặng các bạn các FORM ĐĂNG NHẬP & FORM THAY ĐỔI USER, PASS
Chỉ là trò chơi màu mè thôi, chứ nếu người ta cài đặt Macro Setting ở chế độ High thì chương trình xem như ai vào nhà mình cũng OK.
Khi mở file, các bạn sẽ thấy một form hiện lên:
Tôi mặc định sẳn User và Pass rồi, chỉ bấm Nhập. Nhưng lưu ý, bạn chỉ được quyền sai User hoặc Pass trong vòng 4 lần, sau 4 lần sẽ tự động thoát file. Thú vị chứ nhỉ?
Và tại sheet có một nút lệnh để thay đổi User & Pass, ở đó bạn chỉ cần làm đúng các yêu cầu trong form này:
thì các bạn sẽ được thay đổi quyền đăng nhập.
Để làm khó tí xíu cho các bạn tôi đã đặt VBA pass là: HoangTrongNghia
Riêng Password đã đăng nhập thì các bạn tự tìm trong file xem nó ở đâu nhé!
Anh Nghĩa chơi khó thật, share file lên mà khóa code VBA, hic hic. Anh có thể OPEN tiếp được không? Định học hỏi anh chút mà hỏng đọc được code, thanks!!!
Anh Nghĩa chơi khó thật, share file lên mà khóa code VBA, hic hic. Anh có thể OPEN tiếp được không? Định học hỏi anh chút mà hỏng đọc được code, thanks!!!
chỉ là trò chơi màu mè thôi, chứ nếu người ta cài đặt macro setting ở chế độ high thì chương trình xem như ai vào nhà mình cũng ok.
khi mở file, các bạn sẽ thấy một form hiện lên:
tôi mặc định sẳn user và pass rồi, chỉ bấm nhập. Nhưng lưu ý, bạn chỉ được quyền sai user hoặc pass trong vòng 4 lần, sau 4 lần sẽ tự động thoát file. Thú vị chứ nhỉ?
và tại sheet có một nút lệnh để thay đổi user & pass, ở đó bạn chỉ cần làm đúng các yêu cầu trong form này:
thì các bạn sẽ được thay đổi quyền đăng nhập.
để làm khó tí xíu cho các bạn tôi đã đặt vba pass là: hoangtrongnghia
riêng password đã đăng nhập thì các bạn tự tìm trong file xem nó ở đâu nhé!
Tôi mặc định sẳn User và Pass rồi, chỉ bấm Nhập.Nhưng lưu ý, bạn chỉ được quyền sai User hoặc Pass trong vòng 4 lần, sau 4 lần sẽ tự động thoát file. Thú vị chứ nhỉ?
thì các bạn sẽ được thay đổi quyền đăng nhập.
Để làm khó tí xíu cho các bạn tôi đã đặt VBA pass là: HoangTrongNghia
Riêng Password đã đăng nhập thì các bạn tự tìm trong file xem nó ở đâu nhé!
Cái quan trọng là mở được VBA để xem, mà mở được VBA rồi thì không lý do gì mà không thể tìm ra Password mà tôi đã để ở đâu đó trong sheet để thay đổi pass mới phải nhập vô pass này trước.
Vậy sao không thử tìm trong code của UserForm?
Cả 2 Form đều có thủ tục này:
Mã:
Private Sub UserForm_Initialize()
Workbooks(ThisWorkbook.Name).Activate
Application.EnableCancelKey = xlErrorHandler
Application.Visible = False
Dim hWnd As Long
On Error Resume Next
hWnd = FindWindow("ThunderDFrame", Me.Caption)
SetWindowLong hWnd, -16, &H84080080
Me.Height = 130
[COLOR=#0000cd][B]Usr [/B][/COLOR][COLOR=#ff0000][B]= Nguon.[H2].Value
[/B][/COLOR][COLOR=#0000cd][B]Pwd [/B][/COLOR][COLOR=#ff0000][B]= Nguon.[H3].Value[/B][/COLOR]
txtUser = Usr
With txtPassword
.SetFocus: .SelStart = 0: .SelLength = Len(.Text)
End With
End Sub
Mã:
Private Sub UserForm_Initialize()
Dim hWnd As Long
On Error Resume Next
hWnd = FindWindow("ThunderDFrame", Me.Caption)
SetWindowLong hWnd, -16, &H84080080
Me.Height = 120
[COLOR=#0000cd][B]Usr [/B][/COLOR][COLOR=#ff0000][B]= Nguon.[H2].Value
[/B][/COLOR][COLOR=#0000cd][B]Pwd [/B][/COLOR][COLOR=#ff0000][B]= Nguon.[H3].Value[/B][/COLOR]
txtUser.Text = Usr
txtPassword.SetFocus
End Sub
Thế thì giá trị của User & Password nó nằm trong sheet NGUON cell H2 & H3 chứ còn gì nữa!
Cái sheet mà các bạn nhìn thấy không có Sheet Tab để chọn sheet, thì các bạn vào Tool > Options > View và check vào Sheet Tabs thôi!
Khi đã mở sheet ra và không thấy cái sheet NGUON nào cả thì phải hiểu là nó bị ẩn rồi chứ gì! Vậy phải cho nó hiện lên chứ còn gì nữa!
Vào VBA chọn vào tên sheet Nguon và chọn thuộc tính (Properties) của sheet Visible là -1 - xlSheetVisible để cho nó hiện lên!
Bây giờ các bạn chỉ còn việc tìm cột H của nó nằm ở đâu mà lấy cái gì đó mà các bạn cần tìm thôi. Chẳng lẽ tới đây mà các bạn cũng không làm được thì thôi, các bạn đừng chơi cái này nữa!
Tôi làm khó các bạn (chỉ tí xíu thôi) để các bạn tự mày mò, nghiên cứu thêm, vận dụng kiến thức của các bạn sẳn có để thao tác trên file này, thế mà ...
Hình như là thế hệ các thành viên từ năm 2012 trở về sau thường có tính ỷ lại, không bao giờ chịu động não để giải quyết vấn đề thì phải!
Tôi đã ghi quá rõ như sau:
Tại sao không đọc kỹ những gì người ta viết rồi mới hỏi nhỉ?
Có vài dòng thôi đâu có tràn lan đại hải đâu mà làm biếng đọc?
1)
Có nghĩa là không cần gõ vào bất cứ thứ gì hết, chỉ bấm nút Nhập khi mở file
2)
Khóa VBA tức là khóa Macro đó, mở VBA (Alt+F11) chọn vào tên file và gõ password ở trên vào để mở khóa.
3)
Cái quan trọng là mở được VBA để xem, mà mở được VBA rồi thì không lý do gì mà không thể tìm ra Password mà tôi đã để ở đâu đó trong sheet để thay đổi pass mới phải nhập vô pass này trước.
Vậy sao không thử tìm trong code của UserForm?
Cả 2 Form đều có thủ tục này:
Mã:
Private Sub UserForm_Initialize()
Workbooks(ThisWorkbook.Name).Activate
Application.EnableCancelKey = xlErrorHandler
Application.Visible = False
Dim hWnd As Long
On Error Resume Next
hWnd = FindWindow("ThunderDFrame", Me.Caption)
SetWindowLong hWnd, -16, &H84080080
Me.Height = 130
[COLOR=#0000cd][B]Usr [/B][/COLOR][COLOR=#ff0000][B]= Nguon.[H2].Value
[/B][/COLOR][COLOR=#0000cd][B]Pwd [/B][/COLOR][COLOR=#ff0000][B]= Nguon.[H3].Value[/B][/COLOR]
txtUser = Usr
With txtPassword
.SetFocus: .SelStart = 0: .SelLength = Len(.Text)
End With
End Sub
Mã:
Private Sub UserForm_Initialize()
Dim hWnd As Long
On Error Resume Next
hWnd = FindWindow("ThunderDFrame", Me.Caption)
SetWindowLong hWnd, -16, &H84080080
Me.Height = 120
[COLOR=#0000cd][B]Usr [/B][/COLOR][COLOR=#ff0000][B]= Nguon.[H2].Value
[/B][/COLOR][COLOR=#0000cd][B]Pwd [/B][/COLOR][COLOR=#ff0000][B]= Nguon.[H3].Value[/B][/COLOR]
txtUser.Text = Usr
txtPassword.SetFocus
End Sub
Thế thì giá trị của User & Password nó nằm trong sheet NGUON cell H2 & H3 chứ còn gì nữa!
Cái sheet mà các bạn nhìn thấy không có Sheet Tab để chọn sheet, thì các bạn vào Tool > Options > View và check vào Sheet Tabs thôi!
Khi đã mở sheet ra và không thấy cái sheet NGUON nào cả thì phải hiểu là nó bị ẩn rồi chứ gì! Vậy phải cho nó hiện lên chứ còn gì nữa!
Vào VBA chọn vào tên sheet Nguon và chọn thuộc tính (Properties) của sheet Visible là -1 - xlSheetVisible để cho nó hiện lên!
Bây giờ các bạn chỉ còn việc tìm cột H của nó nằm ở đâu mà lấy cái gì đó mà các bạn cần tìm thôi. Chẳng lẽ tới đây mà các bạn cũng không làm được thì thôi, các bạn đừng chơi cái này nữa!
Tôi làm khó các bạn (chỉ tí xíu thôi) để các bạn tự mày mò, nghiên cứu thêm, vận dụng kiến thức của các bạn sẳn có để thao tác trên file này, thế mà ...
anh Nghĩa ơi. em đã xem Form đăng nhập của anh và thấy rất thích nên định mượn File của anh để thiết kế lại thành file của mình mà có Form login cho hoành tráng.
Nhưng khổ nổi File thiết kê của em lại dùng cho nhiều người nên mỗi người cần 1 user và pass riêng của mình để vào file.
Xin anh hướng dẫn em đoạn code cho form login nhiều user và pass với ạ
anh cảm ơn anh rất nhiều
anh Nghĩa ơi. em đã xem Form đăng nhập của anh và thấy rất thích nên định mượn File của anh để thiết kế lại thành file của mình mà có Form login cho hoành tráng.
Nhưng khổ nổi File thiết kê của em lại dùng cho nhiều người nên mỗi người cần 1 user và pass riêng của mình để vào file.
Xin anh hướng dẫn em đoạn code cho form login nhiều user và pass với ạ
anh cảm ơn anh rất nhiều
Nếu mà 1 file mà ai cũng có thể thao tác toàn bộ, thì cho luôn người ta 1 user, 1 pass luôn cho rồi. Còn nếu phân vùng thì mới có thể cho theo từng cấp độ.
Nhưng chỉ là giải trí và trình bày cho hoành tráng thôi chứ nó bảo mật chẳng hiệu quả đâu bạn ơi!
Nếu mà 1 file mà ai cũng có thể thao tác toàn bộ, thì cho luôn người ta 1 user, 1 pass luôn cho rồi. Còn nếu phân vùng thì mới có thể cho theo từng cấp độ.
Nhưng chỉ là giải trí và trình bày cho hoành tráng thôi chứ nó bảo mật chẳng hiệu quả đâu bạn ơi!
Mỗi người một sheet anh ạ. em cũng đã biết đặt pass cho từng sheet rồi nhưng muốn khi đăng nhập thì vào thẳng sheet của người dùng tên đăng nhập đó luôn anh ạ. anh làm cái demo cho em và các thành viên có cùng mối quan tâm như em tham khảo với
Cảm ơn anh vì đã hồi âm
Mỗi người một sheet anh ạ. em cũng đã biết đặt pass cho từng sheet rồi nhưng muốn khi đăng nhập thì vào thẳng sheet của người dùng tên đăng nhập đó luôn anh ạ. anh làm cái demo cho em và các thành viên có cùng mối quan tâm như em tham khảo với
Cảm ơn anh vì đã hồi âm
Đây là file "Demo" cho bạn dùng thử chơi cho vui nè! Mọi password đều là HoangTrongNghia.
Trong file tôi có 4 người được dùng, với Admin là cao nhất, sử dụng được mọi thứ, kể cả reset lại tất cả user & pass (thủ công, nếu muốn tự động, tự các bạn mày mò đi nhé, không khó); và 3 User, chỉ được quyền mở sheet của mình.
[NOTE1]Các Username / Password:
1) ADMIN / Admin
2) USER1 / User1
3) USER2 / User2
4) USER3 / User3[/NOTE1]
Các bạn cứ lần lượt mở file rồi chọn thử từng Username xem sao (mở và đóng 4 lần), nên chọn lần cuối là Admin cho thú vị!
[TIP]Click vào Box Username để xổ ra danh sách Users nha các bạn
[/TIP]
File đã được cập nhật mới, sửa lỗi đăng nhập, các bạn nên tải file AdminAndUsers2.rar nhé!
Các bạn ơi giúp mình cái này với minh tạo form đăng nhập được rồi mình change pass lun rồi mà giờ đăng nhập không vô phải làm cách nào ạh xin các bạn chỉ dần giúp với cám ơn các bạn nhiều lắm
@:Thầy Nghiã!
Làm thế nào để Thầy có thể đổi tên Sheet và đổi thứ tự sheets trong cửa sổ vba được vậy? View attachment 99070
Chỉ Em với Thầy ơi..Cảm ơn Thầy!
Các bạn ơi giúp mình cái này với minh tạo form đăng nhập được rồi mình change pass lun rồi mà giờ đăng nhập không vô phải làm cách nào ạh xin các bạn chỉ dần giúp với cám ơn các bạn nhiều lắm
Bạn phải tạo 1 chữ ký bằng cách ký tên và đánh họ tên vào dưới sau đó Scan và sau đó mở Excel lên và vào Format => sheet=> Background chọn file ảnh mà bạn vừa scan và đưa vào (lưu ý, để xóa hình nền bạn cũng lặp lại thao tác tương tự và delete background. Thân chào !
Mọi người giúp tôi tạo form đăng nhập gồm HWID, name và Key bằng VBA excel không ạ? Tôi muốn bảo vệ những dữ liệu của tôi tại cơ quan, vì cơ quan tôi có nhiều người biết vào file của tôi trong khi tôi đã unprotect và đặt pass file.
Nếu mà 1 file mà ai cũng có thể thao tác toàn bộ, thì cho luôn người ta 1 user, 1 pass luôn cho rồi. Còn nếu phân vùng thì mới có thể cho theo từng cấp độ.
Nhưng chỉ là giải trí và trình bày cho hoành tráng thôi chứ nó bảo mật chẳng hiệu quả đâu bạn ơi!
Tôi nói PASSWORD ở đây là các loại PASS của VBA, PROTECT SHEET, PROTECT WORKBOOK, còn những thứ kia là đã có hướng dẫn riêng cho từng USER rồi còn gì? Đọc tiếng Việt không hiểu sao trời???
Tôi nói PASSWORD ở đây là các loại PASS của VBA, PROTECT SHEET, PROTECT WORKBOOK, còn những thứ kia là đã có hướng dẫn riêng cho từng USER rồi còn gì? Đọc tiếng Việt không hiểu sao trời???
Hi! Em xin lỗi anh nha. Thực sự là em đọc không kĩ anh ạ. Cảm ơn anh em làm được rồi anh ạ. Quả thật rất hay. Em áp dụng cái From đăng nhập của anh mấy người trường em ai cũng khen giỏi. Hi, cảm ơn anh nhiều lắm!
Tôi nói PASSWORD ở đây là các loại PASS của VBA, PROTECT SHEET, PROTECT WORKBOOK, còn những thứ kia là đã có hướng dẫn riêng cho từng USER rồi còn gì? Đọc tiếng Việt không hiểu sao trời???
Đó chỉ là ví dụ.
Chứ thật ra file gốc các sheet được cài ở chế độ SheetVeryHidden. Chỉ cho hiện 1 sheet duy nhất (sheet1: no data)
Còn vào bên sâu bên trong khi chưa kích hoạt macro thì cũng được cài VBAProject - Project Propeties - Protection (with pass)
Khi đã kích hoạt macro thì có thể bảo vệ file bằng cách ko cho dùng ESC hoặc Alt + F4 (có thể unload userform)
=> rất an toàn.
Việc resize Userform còn tùy màn hình. Màn hình của mình thì chỉ cần thế là đủ.
Đó chỉ là ví dụ.
Chứ thật ra file gốc các sheet được cài ở chế độ SheetVeryHidden. Chỉ cho hiện 1 sheet duy nhất (sheet1: no data)
Còn vào bên sâu bên trong khi chưa kích hoạt macro thì cũng được cài VBAProject - Project Propeties - Protection (with pass)
Khi đã kích hoạt macro thì có thể bảo vệ file bằng cách ko cho dùng ESC hoặc Alt + F4 (có thể unload userform)
=> rất an toàn.
Việc resize Userform còn tùy màn hình. Màn hình của mình thì chỉ cần thế là đủ.
Đó chỉ là ví dụ.
Chứ thật ra file gốc các sheet được cài ở chế độ SheetVeryHidden. Chỉ cho hiện 1 sheet duy nhất (sheet1: no data)
Còn vào bên sâu bên trong khi chưa kích hoạt macro thì cũng được cài VBAProject - Project Propeties - Protection (with pass)
Khi đã kích hoạt macro thì có thể bảo vệ file bằng cách ko cho dùng ESC hoặc Alt + F4 (có thể unload userform)
=> rất an toàn.
Việc resize Userform còn tùy màn hình. Màn hình của mình thì chỉ cần thế là đủ.
Thế cái form ấy bạn định hiển thị trên "Màn hình của mình"? Bạn định mua việc, làm khó dễ cho chính mình à? Tôi hiểu là cái form kia nó sẽ được hiển thị trên máy người khác, đúng không? Vậy không quan trọng nó sẽ đủ hay thiếu trên màn hình của bạn mà nó phải đủ trên mọi máy khác. Đúng không?
Tất nhiên cái form kia sau khi tu sửa ít ra nó cũng làm khó dễ cho rất nhiều người. Thế là được. Nó cũng như bạn khóa cửa nhà ấy mà. Bạn khóa không phải là muốn làm khó cho các chuyên gia bẻ khóa.
Tại sao mọi người lại bắt bẽ ghê vậy hè, sao ko hỗ trợ viết code tốt hơn?
Đây là file chia sẻ chứ ko phải đem ra buôn bán gì mà cần phải lock.
Nếu Lock thì một số member sao có thể vào xem code, mất công phải quay dùng phẩn mềm crack -> lại phiền toái hơn ko mấy bác !
Tại sao mọi người lại bắt bẽ ghê vậy hè, sao ko hỗ trợ viết code tốt hơn?
Đây là file chia sẻ chứ ko phải đem ra buôn bán gì mà cần phải lock.
Nếu Lock thì một số member sao có thể vào xem code, mất công phải quay dùng phẩn mềm crack -> lại phiền toái hơn ko mấy bác !
Bài đó Thầy siwtom viết là góp ý đó không phải "ném đá" đâu! Chuyện về giao diện hay lập trình API thì Thầy là một trong những người giỏi nhất mà tôi từng biết đấy! Rồi bạn sẽ biết nhiều về Thầy hơn qua những bài viết sau.
Đã xử lý được trường hợp size của form login để có thể bao phủ toàn màn hình (trên nhiều Desktop)
Nếu dựa vào activewindow -> ko chính xác.
Có thể dùng sub sau:
Declare Function GetSystemMetrics32 Lib "user32" _
Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
Sub DisplayMonitorInfo()
'size of Screen Resolution
Dim w As Long, h As Long
w = GetSystemMetrics32(0) ' width in points
h = GetSystemMetrics32(1) ' height in points
Range("monitorsize_w") = w
Range("monitorsize_h") = h
End Sub
Sau khi kích hoạt Macro thì Call DisplayMonitorInfor trước khi login.show
Private Sub UserForm_Initialize() se~ co' dạng
login.height =Range("monitorsize_h")
login.width =Range("monitorsize_w")
Đã xử lý được trường hợp size của form login để có thể bao phủ toàn màn hình (trên nhiều Desktop)
Nếu dựa vào activewindow -> ko chính xác.
Có thể dùng sub sau:
Declare Function GetSystemMetrics32 Lib "user32" _
Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
Sub DisplayMonitorInfo()
'size of Screen Resolution
Dim w As Long, h As Long
w = GetSystemMetrics32(0) ' width in points
h = GetSystemMetrics32(1) ' height in points
Range("monitorsize_w") = w
Range("monitorsize_h") = h
End Sub
Sau khi kích hoạt Macro thì Call DisplayMonitorInfor trước khi login.show
Private Sub UserForm_Initialize() se~ co' dạng
login.height =Range("monitorsize_h")
login.width =Range("monitorsize_w")
Nếu mà để Form Zoom toàn màn hình mà làm như thế thì ẹ quá đi! Dưới đây là code trong Form để zoom toàn màn hình:
[GPECODE=vb]Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private hwnd As Long
Private Sub UserForm_Activate()
SetWindowLong hwnd, -16, &H84080080
ShowWindow hwnd, 3
End Sub
Private Sub UserForm_Initialize()
hwnd = FindWindow("ThunderDFrame", Me.Caption)
End Sub
Công nhận là bạn "quá" quan tâm đến vụ màu mè thiệt đó
Giao diện đẹp khiến người ta thích ứng dụng, cũng đúng! Nhưng liệu có nên cân nhắc xem có phải ta đã quá chăm chút giao diện đến mức code cho phần màu mè chiếm phần lớn toàn bộ file còn code làm nhiệm vụ chính thì chẳng có bao nhiêu (xem các file của bạn tôi thấy rõ điều bất hợp lý này)
Quan điểm của tôi: 20% code dành cho giao diện là quá đủ. Đàng nào thì cái "tâm hồn" mới là thứ quan trọng. Một ứng đẹp, bóng bẩy nhưng lại chả làm nên được tích sự gì thì cũng là ứng dụng "vô dụng" thôi
----------------------
Cũng chỉ là quan điểm cá nhân, mong bạn đừng để bụng
Lúc trước tôi có làm 1 bài về vẽ shape trên Form (xem file)
trong file là vẽ Ellipse, giờ vẽ hình vuông thì dùng hàm Rectangle (cũng tương tự thôi)
-----------
Các bạn cứ tự nghiên cứu rồi áp dụng (tôi cũng không mấy hứng thứ về vấn đề này cho dù có biết)
Lúc trước tôi có làm 1 bài về vẽ shape trên Form (xem file)
trong file là vẽ Ellipse, giờ vẽ hình vuông thì dùng hàm Rectangle (cũng tương tự thôi)
-----------
Các bạn cứ tự nghiên cứu rồi áp dụng (tôi cũng không mấy hứng thứ về vấn đề này cho dù có biết)
Công nhận là bạn "quá" quan tâm đến vụ màu mè thiệt đó
Giao diện đẹp khiến người ta thích ứng dụng, cũng đúng! Nhưng liệu có nên cân nhắc xem có phải ta đã quá chăm chút giao diện đến mức code cho phần màu mè chiếm phần lớn toàn bộ file còn code làm nhiệm vụ chính thì chẳng có bao nhiêu (xem các file của bạn tôi thấy rõ điều bất hợp lý này)
Quan điểm của tôi: 20% code dành cho giao diện là quá đủ. Đàng nào thì cái "tâm hồn" mới là thứ quan trọng. Một ứng đẹp, bóng bẩy nhưng lại chả làm nên được tích sự gì thì cũng là ứng dụng "vô dụng" thôi
----------------------
Cũng chỉ là quan điểm cá nhân, mong bạn đừng để bụng
1. Code viết sai >> bị lỗi khi code chạy. Cấu trúc With phải đi với Object hoặc range, sao đi với biến được
2. Inputbox không thể chuyển pass thành dấu***
Nhu cầu của e chưa cần 1 form đăng nhập mà e cần khi mở file ra thì 1 form gồm các nút như:
- nhập thông tin khách hàng mới: kích vào thì đến bản ghi cuối cùng của sheet khách hàng
- sửa thông tin: chọn số chứng minh thư khi click vào thì đến bản ghi có số cmt đó
- xem báo cáo: dẫn đến sheet báo cáo
...
Mong các thành viên hỗ trợ,có ví dụ bằng hình ảnh thì quá tốt ạh
Nhu cầu của e chưa cần 1 form đăng nhập mà e cần khi mở file ra thì 1 form gồm các nút như:
- nhập thông tin khách hàng mới: kích vào thì đến bản ghi cuối cùng của sheet khách hàng
- sửa thông tin: chọn số chứng minh thư khi click vào thì đến bản ghi có số cmt đó
- xem báo cáo: dẫn đến sheet báo cáo
...
Mong các thành viên hỗ trợ,có ví dụ bằng hình ảnh thì quá tốt ạh
Nếu thiết kế trên userform để liên kết các sheet thi` ko mạnh bằng thiết kế trực tiếp trên sheet. Khi update số liệu vào sheet (khách hàng ...) nên đưa nó lên trên cùng thay vì cho nằm bên dưới.
Nếu thiết kế trên userform để liên kết các sheet thi` ko mạnh bằng thiết kế trực tiếp trên sheet. Khi update số liệu vào sheet (khách hàng ...) nên đưa nó lên trên cùng thay vì cho nằm bên dưới.
Bác Hoàng Trọng Nghĩa cho em hỏi vấn đề này với: dùng form đăng nhập của bác có thể bổ sung thêm chức năng reset pass về pass mặc định trong một giới hạn thời gian cho file đó ko. Ví dụ như user: ABCD ; pas đăng nhập là 123456 và có thể nào mặc định cho file đó sử dụng 1 tháng, sau 1 tháng thì pas tự thay đổi là 123123 được không?
Đây là file "Demo" cho bạn dùng thử chơi cho vui nè! Mọi password đều là HoangTrongNghia.
Trong file tôi có 4 người được dùng, với Admin là cao nhất, sử dụng được mọi thứ, kể cả reset lại tất cả user & pass (thủ công, nếu muốn tự động, tự các bạn mày mò đi nhé, không khó); và 3 User, chỉ được quyền mở sheet của mình.
[NOTE1]Các Username / Password:
1) ADMIN / Admin
2) USER1 / User1
3) USER2 / User2
4) USER3 / User3[/NOTE1]
Các bạn cứ lần lượt mở file rồi chọn thử từng Username xem sao (mở và đóng 4 lần), nên chọn lần cuối là Admin cho thú vị!
[TIP]Click vào Box Username để xổ ra danh sách Users nha các bạn
[/TIP]
File đã được cập nhật mới, sửa lỗi đăng nhập, các bạn nên tải file AdminAndUsers2.rar nhé!
Em đã áp dụng theo bài này của anh rất hay. Đã dùng được vào thực tế của file em, em đã bắt chước cách thiết kế , viết code như của anh. Nhưng có vài khó khăn như sau:
1. Không move and copy các sheet khác từ ngoài vào được.
2. Khi viết code giống anh từ A đến Z thì xảy ra tình trạng các sheet gốc của em biến đâu mất tiêu ( do ngu quá không copy ra 1 bảng dự phòng -> không biết cách mở sheet còn lại ra)
3. Ban đầu sheet của em có 1 bảng Menu gồm các Button kết nối đến các sheet, sau khi làm code giống của anh nó không còn sử dụng được nữa. Kết nối nó báo lỗi.
4. Em tạo 1 nút button trên sheet admin của anh kết nối đến sheet Menu của em , nhưng khi tắt mở lại file tự động các sheet của em biến mất hết đồng thời nút Menu mới tạo không kết nối được với sheet menu.
Mong các thầy, cô , anh, chị , chủ topic giải thích dùm em, em cám ơn nhiều nhiều ạ.
Tóm lại, nếu chỉ dùm em cách nào mà cho nó Unhide các sheet còn lại dùm em là ok ah.
Chỉ là trò chơi màu mè thôi, chứ nếu người ta cài đặt Macro Setting ở chế độ High thì chương trình xem như ai vào nhà mình cũng OK.
Khi mở file, các bạn sẽ thấy một form hiện lên:
Tôi mặc định sẳn User và Pass rồi, chỉ bấm Nhập. Nhưng lưu ý, bạn chỉ được quyền sai User hoặc Pass trong vòng 4 lần, sau 4 lần sẽ tự động thoát file. Thú vị chứ nhỉ?
Và tại sheet có một nút lệnh để thay đổi User & Pass, ở đó bạn chỉ cần làm đúng các yêu cầu trong form này:
thì các bạn sẽ được thay đổi quyền đăng nhập.
Để làm khó tí xíu cho các bạn tôi đã đặt VBA pass là: HoangTrongNghia
Riêng Password đã đăng nhập thì các bạn tự tìm trong file xem nó ở đâu nhé!
MÌNH XÀI 2010 VÀ ĐÃ Enable Macro RỒI- CẢM ƠN BẠN RẤT NHIỀU FILE CỦA BẠN MÌNH ỨNG DỤNG VÀO ĐƯỢC RẤT NHIỀU VIỆC ...NẾU BẠN VIẾT THÊM CODE TÌM ID MÁY VÀO NŨA THÌ TUYỆT VỜI DÓ LÀ GỢI Ý CỦA MÌNH... MÌNH THẤY ANH LÂM DÌNH LÂM CŨNG VIẾT CODE VẬY ... MÌNH COI THẤY VẬY HIỂU CODE tí ti thôi...TRÂN TRONG
Đây là file "Demo" cho bạn dùng thử chơi cho vui nè! Mọi password đều là HoangTrongNghia.
Trong file tôi có 4 người được dùng, với Admin là cao nhất, sử dụng được mọi thứ, kể cả reset lại tất cả user & pass (thủ công, nếu muốn tự động, tự các bạn mày mò đi nhé, không khó); và 3 User, chỉ được quyền mở sheet của mình.
[NOTE1]Các Username / Password:
1) ADMIN / Admin
2) USER1 / User1
3) USER2 / User2
4) USER3 / User3[/NOTE1]
Các bạn cứ lần lượt mở file rồi chọn thử từng Username xem sao (mở và đóng 4 lần), nên chọn lần cuối là Admin cho thú vị!
[TIP]Click vào Box Username để xổ ra danh sách Users nha các bạn
[/TIP]
File đã được cập nhật mới, sửa lỗi đăng nhập, các bạn nên tải file AdminAndUsers2.rar nhé!
Đây là file "Demo" cho bạn dùng thử chơi cho vui nè! Mọi password đều là HoangTrongNghia.
Trong file tôi có 4 người được dùng, với Admin là cao nhất, sử dụng được mọi thứ, kể cả reset lại tất cả user & pass (thủ công, nếu muốn tự động, tự các bạn mày mò đi nhé, không khó); và 3 User, chỉ được quyền mở sheet của mình.
[NOTE1]Các Username / Password:
1) ADMIN / Admin
2) USER1 / User1
3) USER2 / User2
4) USER3 / User3[/NOTE1]
Các bạn cứ lần lượt mở file rồi chọn thử từng Username xem sao (mở và đóng 4 lần), nên chọn lần cuối là Admin cho thú vị!
[TIP]Click vào Box Username để xổ ra danh sách Users nha các bạn
[/TIP]
File đã được cập nhật mới, sửa lỗi đăng nhập, các bạn nên tải file AdminAndUsers2.rar nhé!
Nhờ bác Nghĩa chỉ dzáo thêm vì em đang bập bẹ về code.
Em muốn kết hợp thêm đoạn code:
1. Đến thời gian mặc định hết hạn thì file sẽ khóa lại?
2. Người khác copy file này sang máy khác không chạy được? => Thì thêm vào vị trí nào?
Nhờ bác Nghĩa chỉ dzáo thêm vì em đang bập bẹ về code.
Em muốn kết hợp thêm đoạn code:
1. Đến thời gian mặc định hết hạn thì file sẽ khóa lại?
2. Người khác copy file này sang máy khác không chạy được? => Thì thêm vào vị trí nào?
Copy qua máy khác, nếu không Enable Macro thì vẫn thực hiện trên file được bạn ơi, cái này làm cho tăng thêm phần màu mè, chứ không thể gọi là bảo mật được!
Copy qua máy khác, nếu không Enable Macro thì vẫn thực hiện trên file được bạn ơi, cái này làm cho tăng thêm phần màu mè, chứ không thể gọi là bảo mật được!
Bác Nghĩa chưa hiểu ý em rồi , chẳng là em muốn tận dụng luôn file này của bác nhưng lại tích hợp đoạn code định thời gian hết hạn và chống copy thêm vào file này của bác thì insert nó vào vị trí nào?
VD muốn thêm code này thì insert vào chỗ nào?
Private Sub Workbook_Open()
If Date >= DateSerial(2010, 6, 20) Then
MsgBox "Het han su dung" Call KillFile 'Hoac thay bang Application.Quit
End If End Sub