Thịnh Hành 4/2024 # Một Số Vấn Đề Về Vba Trong Excel (File .Xls Và .Xla) # Top 8 Yêu Thích

Nhiều bạn bạn trao đổi các vấn đề như sau, mình tổng hợp, rút gọn và trả lời chung cho các bạn nào có cùng mụch đích, nội dung được tham khảo và sưu tầm từ nhiều nguồn khác nhau, và cũng qua Internet, mình biết nhiều người đang muốn tìm hiểu để làm được điều này.

1. Bảo mật VBA trong file .xls

1. Làm sao để đặt pass trong VBA nhưng khi mình kích vào thì không hiện hộp thoại nhập Pass Word như thông thường mà hiện thông báo: Project unviewable.

2. Làm thế nào để đặt pass cho các code VBA của file excel để khi mở ra không được vì không có chỗ để gõ pass.

Các câu hỏi có cùng nội dung, và có lẽ các bạn cũng đã tìm trên Google nhưng chưa thấy câu trả lời như mong đợi, sau đây có thể là câu trả lời cho bạn, từ Internet và kinh nghiệm cá nhân.

* Cách tạo ra thông báo: Project unviewable

– Bấm phím Alt +F11 để vào cửa sổ VB Editor,

– Đánh dấu chọn vào Lock Project for Wiewing.

– Đóng cửa sổ VB Editor mà bạn vừa đặt Pass xong để trở về màn hình excel,

– Đánh dấu chọn vào Alow Changes by.,.

– Bây giờ bạn thử nhấn At + F11 để mở cửa sổ VBE.

– T rong cửa sổ ” Project Explorer và nhấp vào tên dự án VBA của bạn để mở code thì b ạn sẽ thấy một hộp thông báo Project is unviewable “.

Chú ý: Khi sử dụng chức năng Share Workbook, một số chức năng của Excel bị hạn chế như sau:

– Không xóa, ẩn được Sheet…

Chính vì vậy cần cân nhắc khi sử dụng chức năng này, nên test lại các chức năng của chương trình nếu đặt chế độ bảo mật kiểu này. Ở chế độ Share Workbook, chức năng Protect Sheet vô tác dụng (bị mờ đi), vì vậy cũng dùng cách này để bảo vệ bảng tính. Nhiều chương trình trong Excel hiện nay sử dụng chức năng Share Workbook để bảo mật. Tuy nhiên bảo mật kiểu này hiện nay cũng không còn an toàn nữa .

* Để có thể truy cập (đăng nhập Pass) và xem code VBA:

– Bây giờ bạn đóng file excel, chọn Yes để lưu thay đổi.

2. Bảo mật VBA trong file .xla

Làm sao để xem file *.xla của excel ?

Thực chất .xla là một file chứa macro (VBA) của excel, cũng có khi có cả dữ liệu . Bạn open file mở một file bình thường. .xla như

Sau khi mở xong, dĩ nhiên là bạn sẽ chẳng thấy gì ráo trọi. Để xem source code của file .xla, bạn nhấn phím : Alt-F11. (hoặc chọn menu : ToolsMacrosVisual Basic Editor)

Trong cái cây hiện ra (thường ở phía bên trái), bạn tìm dòng mà trong ngoặc tròn có chứa tên file .xla mà bạn đã mở thì đó là nơi bắt đầu “nội dung” của file .xla đó.

Chú ý : Có một số file .xla có thể bảo vệ không cho người dùng xem source-code bằng password. Nếu rơi vào trường hợp này thì… xin chia buồn cùng bạn.

Làm thế nào để tạo và chỉnh sửa những add-ins *.xla trong excel?

– Tạo Add-Ins trong excel:

Khi sử dụng bảng tính Excel, chắc bạn không thể không dùng các hàm được định nghĩa sẵn như: SUM; COUNT;…Excel có vài trăm hàm như vậy được chia làm nhiều nhóm theo tính năng khác nhau. Tuy vậy, không phải chúng đã đáp ứng được hết các yêu cầu của người dùng. Nếu thường xuyên cần phải sử dụng các công thức tính tóan phức tạp trong bảng tính của mình, bạn có thể tự xây dựng hàm bằng ngôn ngữ lập trình Visual Basic rồi tập hợp chúng thành một thư viện hàm do người dùng định nghĩa (User-Defined FunctionsLibrary). Sau đó nạp thư viện này vào Excel qua công cụ Add-Ins. Như vậy bạn có thể dùng chúng như các hàm được định nghĩa sẵn trong Excel.

Các bước thực hiện như sau:

1. Khởi động Excel, tạo một bảng tính mới (giả sử tên là Book1.xls). Trong Book1, bạn chỉ cần giữ lại một WorkSheet đầu tiên (xóa bỏ các WorkSheet từ Sheet2 đến hết, việc làm này nhằm thu gọn thư viện nên bạn có thể bỏ qua).

2. Chọn lệnh Tools.Marco.Visual Basic Editor (Alt-F11) để chuyển sang môi trường sọan thảo Visual Basic. Khung Project sẽ liệt kê các thư viện và dự án đang được mở trong Excel, trong đó có Book1.

3. Nhấn chuột vào dòng VBAProject (Book1) để chọn dự án này rồi chọn lệnh Insert. Module để chèn thêm một Module mới vào dự án (Module mới này sẽ có tên là Module1).

4. Nhấn đúp vào Module1 để chuyển sang khung sọan thảo bên phải khung Project. Nhập mã nguồn các hàm của bạn vào khung này. Bạn cần viết chúng theo đúng cú pháp của ngôn ngữ Visual Basic và chú ý không đặt tên hàm của mình trùng với các hàm và từ khóa đã có trong Excel.

– Trong khung Save in, chọn thư mục: MSOfficeOfficeLibrary (thư mục ngầm định chứa các thư viện của Excel).

– Trong khung File Name: Nhập tên tập tin theo ý mình (abc.xla).

– Trong khung Save As type: Chọn Microsft Excel Add-In.

– Nhấn OK để lưu lại thư viện dưới dạng tệp Add-In.

8. Trong danh sách Add-Ins available, đánh dấu chọn vào mục có đúng tên thư viện của mình. Nếu chưa có thì bấm Browse … để dẫn tới thư mục đã save file ở bước 6.

Kể từ đây bạn có thể dùng các hàm mới này như những hàm đã được định nghĩa sẵn trong Excel. Chúng sẽ được liệt kê trong nhóm hàm User Defined. Để sử dụng các hàm này trên máy tính khác, bạn chỉ việc chép tập tin chúng tôi vào thư mục MSOfficeOfficeLibrary rồi thực hiện các bước 7,8. Muốn bổ sung các hàm mới vào thư viện, bạn cần nhập thêm mã nguồn vào Module1 của thư viện rồi chọn lệnh chúng tôi chúng tôi để lưu lại.

– Chỉnh sửa add-ins *.xla của excel:

1. Làm thế nào để đặt pass trong VBA cho file .xla để khi mở -codethì không hiện hộp thoại nhập Pass Word như thông thường mà hiện thông báo: Project unviewable.

2. Làm thế nào để đặt pass cho code VBA của file xla để khi mở ra không được vì không có chỗ để gõ pass, không thể nhìn thấy gì để có thể xem hay chỉnh sửa

Cũng không thấy danh sách macro ở khung VBA Projec, hoặc khi bấm Alt+F8?

Vậy làm cách nào để truy cập mã VBA và làm cách nào để tạo ra dòng thông báo đó?

Để tạo ra dòng thông báo đó, hãy làm theo các bước bên dưới là được:

“Here, I explain the method that worked for me.

Important points to remember before starting: This method is based on the concept of “sharing” an Excel add-in file

It was tried and tested with Excel 8 (97) and Excel 10 (2002)

Mình hiệu chỉnh bản dịch từ tiếng Anh:

Ở đây, tôi giải thích các phương pháp làm việc cho tôi.

Điểm quan trọng cần nhớ trước khi bắt đầu :

Phương pháp này dựa trên khái niệm về “chia sẻ” một tập tin add-in Excel .

Nó đã được thử và thử nghiệm với Excel 8 (97) và Excel 10 (2002)

C ách duy nhất để cập nhật mã VBA sẽ chỉnh sửa nó trong bản gốc bảng tính . x ls và sau đó tạo ra một tiện ích mới để thay thế cái cũ hoặc bạn sẽ phải tạo một thủ tục VBA trong một bảng tính khác để thực hiện các tiện ích add-in có thể nhìn thấy do đó, nó có thể không chia sẻ .

Kỹ thuật tốt nhất là cũng để bảo vệ dự án VBA của bạn add-in với một mật khẩu

Phương pháp này xuất hiện để khai thác một lỗi trong Excel

Mở cửa sổ VBE bằng cách nhấn Alt + F11.

Đóng cửa sổ Visual Basic xla hiện hành để trở về cửa sổ excel (lúc này vẫn đang trên file xla)

Bấm OK để lưu và chia sẻ bảng tính này.

Nhấn OK để xác nhận thực tế là các macro không thể được xem trong một bảng tính được chia sẻ.

Nhấn Save, sau đó bấm “Yes để ghi đè lên tập tin hiện có .

Đóng bảng tính này và nhấn “No” để không lưu các thay đổi.

Nhấn Alt+F11 để mở cửa sổ VBE.

Tìm add-in của bạn trong cửa sổ Project Explorer và nhấp vào để mở rộng nó là cây đối tượng.

Bạn sẽ thấy một hộp thông báo có tiêu đề “Dự án đã bị khoá” hiển thị thông báo như sau: ” Project is unviewable “. Sẽ không có một hộp mật khẩu chỉ có một nút ” OK ” và ” Trợ giúp “.

Nếu file excel sau khi ghi thành file .xla và tạo “Project unviewable” mà lại muốn quay lại chỉnh sửa code VBA thì phải làm thế nào?

Khi tạo file .xla bạn luôn còn lại file gốc.xls, bạn chỉnh sửa trong file .xls này rồi tạo lại file .xla (thay thế file .xla cũ).

Hẹn trong bài viết sau, trong một chuyên mục giới thiệu về các phần mềm thông dụng, mình sẽ tặng các bạn nào có nhu cầu một số phần mềm gọn nhẹ và hữu ích mà mình sư tập được như: PM tạo bộ cài đặt (đóng gói PM), PM học nhạc, chép nhạc; PM dịch từ vựng tiếng Anh; PM camera cho Laptop; PM chép đĩa CD; PM cắt, ghép, chuyển đuôi video; PM tạo file Help…

Những PM này thực ra có thể tìm trên Google nhưng không phải lúc nào bạn cũng tìm đúng bản có Key để cài đặt.