Kiểm tra mật khẩu trong project

Liên hệ QC

ruadangyeu

Wise after the event
Thành viên danh dự
Tham gia
9/10/06
Bài viết
180
Được thích
185
Các bác cho em hỏi có cách nào kiểm tra xem project có đặt mật khẩu hay không
Em có ý tưởng thế này
Trong thủ tục workbook_open() ta sẽ kiểm tra xem project có đặt mật khẩu hay không
Nếu không(do ai đó dùng phần mềm crack rồi) thì ta chạy thủ tục xoá tất cả các module đi hoặc nếu có một thủ tục khác đặt lại mật khẩu cho project thì càng tốt

mong các bác giúp đỡ
 
ruadangyeu đã viết:
Các bác cho em hỏi có cách nào kiểm tra xem project có đặt mật khẩu hay không
Em có ý tưởng thế này
Trong thủ tục workbook_open() ta sẽ kiểm tra xem project có đặt mật khẩu hay không
Nếu không(do ai đó dùng phần mềm crack rồi) thì ta chạy thủ tục xoá tất cả các module đi hoặc nếu có một thủ tục khác đặt lại mật khẩu cho project thì càng tốt

mong các bác giúp đỡ

Các PM crack pass nó không mở file Excel ra đâu, nó gọi vào và xóa pass VBA project ngay.
 
Upvote 0
ruadangyeu đã viết:
Các bác cho em hỏi có cách nào kiểm tra xem project có đặt mật khẩu hay không
Em có ý tưởng thế này
Trong thủ tục workbook_open() ta sẽ kiểm tra xem project có đặt mật khẩu hay không
Nếu không(do ai đó dùng phần mềm crack rồi) thì ta chạy thủ tục xoá tất cả các module đi hoặc nếu có một thủ tục khác đặt lại mật khẩu cho project thì càng tốt

mong các bác giúp đỡ

Mình thấy hơi bị mâu thuẫn : Khi bạn muốn đặt được thủ tục workbook_open() thì bạn phải biết được mật khẩu (để còn mở VBA), như vậy thì việc kiểm tra này là không cần thiết. Hơn nữa như Anh Tuân đã nói, mấy thằng phá Pass đâu cần mở File ra đâu, vì vậy nếu bạn muốn biết và phá bỏ Pass (để làm việc này việc khác như xóa bớt Modules. . . ) thì hãy để một anh phần mềm chuyên nghiệp làm sau đó mình tha hồ thay đổi. Để dành sức làm những việc khác bạn ạ.
 
Upvote 0
Ôi trời các bác chẳng hiểu ý em gì cả
Mấy cái phần mềm crack pass VBA như Advance password... thì nó không mở file excel ra trước rồi. File này là file của mình, mình đã đặt mật khẩu và khi người khác muỗn xem mã thì họ dùng các phần mềm crack này và xoá mật khẩu đi.
Mình muốn biết thủ tục để nhận ra mật khẩu đã bị xoá và nếu phát hiện ra mật khẩu đã bị xoá ta sẽ chạy ngay một thủ tục xoá hết các module đi.

Xin lỗi các bác vì giải thích không rõ
 
Upvote 0
ruadangyeu đã viết:
Ôi trời các bác chẳng hiểu ý em gì cả
Mấy cái phần mềm crack pass VBA như Advance password... thì nó không mở file excel ra trước rồi. File này là file của mình, mình đã đặt mật khẩu và khi người khác muỗn xem mã thì họ dùng các phần mềm crack này và xoá mật khẩu đi.
Mình muốn biết thủ tục để nhận ra mật khẩu đã bị xoá và nếu phát hiện ra mật khẩu đã bị xoá ta sẽ chạy ngay một thủ tục xoá hết các module đi.

Xin lỗi các bác vì giải thích không rõ
Bảo mật như bạn thì dân tình chỉ có nước "Chết đói" thôi. hì hì hì
Cái này phải nhờ cao thủ thôi.

Nhưng một người đã biết dùng phần mềm phá pass (như mình) thì khi phá xong ai lại dại gì lại enable macro cơ chứ (để xem xong mới cho nó làm gì thì làm. . hì hì . . )

Nhưng dẫu sao đây cũng là một câu hỏi hay. Các cao thủ giúp đỡ đi.

Thân!
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn tham khảo code sau:
Mã:
[COLOR=blue][FONT='Courier New']Function[/FONT][/COLOR][FONT='Courier New'] ProtectedVBProject([COLOR=blue]ByVal[/COLOR] wb [COLOR=blue]As[/COLOR] Workbook) [COLOR=blue]As[/COLOR] [COLOR=blue]Boolean[/COLOR] [/FONT]
[FONT='Courier New']   [COLOR=green]'Tra ve TRUE neu VB project trong tai lieu hien tai duoc bao ve[/COLOR][/FONT]
[FONT='Courier New']   [COLOR=blue]Dim[/COLOR] VBC [COLOR=blue]As[/COLOR] [COLOR=blue]Integer[/COLOR] [/FONT]
[FONT='Courier New']   VBC = -1 [/FONT]
[FONT='Courier New']   [COLOR=blue]On[/COLOR] [COLOR=blue]Error[/COLOR] [COLOR=blue]Resume[/COLOR] [COLOR=blue]Next[/COLOR] [/FONT]
[FONT='Courier New']   VBC = wb.VBProject.VBComponents.Count [/FONT]
[FONT='Courier New']   [COLOR=blue]On[/COLOR] [COLOR=blue]Error[/COLOR] GoTo 0 [/FONT]
[FONT='Courier New']   [COLOR=blue]If[/COLOR] VBC = -1 [COLOR=blue]Then[/COLOR] [/FONT]
[FONT='Courier New']      ProtectedVBProject = [COLOR=blue]True[/COLOR] [/FONT]
[FONT='Courier New']   [COLOR=blue]Else[/COLOR] [/FONT]
[FONT='Courier New']      ProtectedVBProject = [COLOR=blue]False[/COLOR] [/FONT]
[FONT='Courier New']   [COLOR=blue]End[/COLOR] [COLOR=blue]If[/COLOR] [/FONT]
[COLOR=blue][FONT='Courier New']End[/FONT][/COLOR][FONT='Courier New'] [COLOR=blue]Function[/COLOR] [/FONT]
 
Upvote 0
Function ProtectedVBProject(ByVal wb As Workbook) As Boolean' returns TRUE if the VB project in the active document is protectedDim VBC As Integer VBC = -1 On Error Resume Next VBC = wb.VBProject.VBComponents.Count On Error GoTo 0 If VBC = -1 Then ProtectedVBProject = True Else ProtectedVBProject = False End IfEnd FunctionExample:
If ProtectedVBProject(ActiveWorkbook) Then Exit Submình mới tìm được cái này trên mạng các bạn xem lại nhé. còn việc xóa hết tất cả các module thì quá dễ, các bạn vào đây tham khảohttp://www.cpearson.com/excel/vbe.htm

http://www.exceltip.com/show_tip/Protecting_in_VBA/Check_if_a_VBProject_is_protected_using_VBA_in_Microsoft_Excel/500.html
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Cảm ơn các bác nhé
Hi vọng có cơ hội học hỏi các bác nhiều hơn
 
Upvote 0
Web KT

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

Back
Top Bottom