Giải pháp là thế này!!
1. Lập 1 hàm GetCPUID() gán trực tiếp vào file, lập 1 Sub workbook_open()
2. Chạy hàm cho máy tính hiện tại, lấy giá trị gán cố định vào code.
3. Trong sub() nói trên, so sánh giá trị của hàm GetCPUID() với giá trị cố định mà bạn đã gán. Nếu trùng thì cho mở file, không trùng thì đóng file luôn.
4. Để bảo vệ code trong file thì nhớ đặt pass.
Muốn linh động hơn, đặt 1 sheet ẩn veryhidden, gán giá trị GetCPUID() vào 1 cells nào đó. Tạo 1 form để gán giá trị này. Khi mở file, so sánh không trùng thì cho hiện form lên, dĩ nhiên lại phải qua 1 cái pass nữa (tự tạo bằng textbox là đơn giản nhất), nếu không thì ai cũng gán được.
giải pháp là như thế, còn cụ thể thì bạn tự làm nhé!! Làm thì đơn giản thôi, nhưng nếu bạn không tự làm e rằng khi chuyển qua máy tính khác thì bạn cũng bó tay với chính mình luôn!!!
Tham khảo 1 cách làm từ file này nhé!!
File này hoạt động như sau: so sánh ngày được gán cố định trong sheet ẩn protect. Nếu ngày hiện tại (hệ thống) lớn hơn ngày ấn định thì ẩn sheet Config (đương nhiên không có sheet này thì không dùng được cái gì trong file, File này giả lập tình huống như thế chứ không có liên hệ gì với tính toán trong file). Một form hiện lên để gán lại giá trị ngày tháng mới. Bạn gõ pass thuyphong198412 vào textbox hiện hành trong form, gán giá trị ngày tháng mới lớn hơn ngày hiện tại, save file, đóng file, mở lại sẽ thấy hiệu ứng.