[Mẹo] Không chọn Add-in vẫn có thể sử dụng được chức năng của Add-in, giảm tốc độ loading của Excel. (2 người xem)

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

lamvu211

Thành viên mới
Tham gia
13/11/18
Bài viết
5
Được thích
4
Lời đầu tiên cho phép mình gửi lời cảm ơn tới diễn đàn, vì mình đã học hỏi lượm lặt được rất nhiều điều ở nơi đây, và sau 1 thời gian sử dụng thì mình tìm ra 1 cách như mình đã nói ở tiêu đề, có lẽ mình không phải người duy nhất tìm ra cách này, nhưng mục đích đơn giản chỉ là muốn chia sẻ nên mình vẫn post thành 1 topic, có gì không phải mong mọi người bỏ qua.

Trước tiên, mình không rõ máy của các bạn có giống như mình không, đó là khi mình sử dụng nhiều add-in (add-in tự chế hoặc được share), Excel sẽ phải loading từng add-in và mất nhiều thời gian cho việc khởi động đôi khi làm mình khó chịu.
Sau đó tình cờ mình tìm được 1 cách, có thể khiến mình vẫn dùng được chức năng của Add-in mà không cần chọn (select) Add-in đó (ảnh dưới):

1545888549168.png

Cách làm:

B1: Ban đầu các bạn vẫn chạy Add-in mới như bình thường:
( File >> Options >> Add-in >> Go >> Browse... >> Dẫn đến file add-in của bạn >> OK )

1545888683361.png

B2: Vào File >> Options >> Customize ribbon, ở phần Choose commands from: các bạn chọn Macros và làm như hình dưới:

1545889112731.png

B3: Sau khi làm xong bước 2 các bạn sẽ thấy xuất hiện Tab mới và có sẵn Add-in ở trong:

1545889383579.png

B4: Các bạn vào lại Options >> Add-inbỏ chọn những Add-in các bạn đã cài >> Hoàn tất.

Lưu ý:
1. Excel khi mở ra ở chế độ mặc định sẽ tự hiểu là không có Add-in nào nên nó sẽ không mất thời gian loading Add-in.
2. Khi nào muốn sử dụng thì các bạn vào lại Tab mới và sử dụng (đồng nghĩa với việc kích hoạt) Add-in đó như bình thường, vì trên thực tế, tần suất sử dụng Add-in không phải quá lớn, tùy vào mức độ sử dụng mà bạn nên quyết định chạy luôn ở chế độ mặc định hay sử dụng như này cho thích hợp.
 
Do bạn lập trình VBA thế nào thì Excel load Add-in sẽ tiết kiệm thời gian. Không phải như cách hướng dẫn trên.
Cách trên thực chất chỉ là tạo nút nhấn để gọi thủ tục trong VBA nằm trực tiếp trên thanh Ribbon, nhưng không biên dịch VBA lúc khởi động. Điều này chỉ làm cho thanh Ribbon bị rối thêm. Quá trình tạo nút cũng rất mất thời gian, thay vì tạo Ribbon chuyên nghiệp hơn với trình tạo.

VBA sẽ biên dịch mã nằm ngoài module trước tiên, chính vì đó hạn chế viết tất cả mã ngoài Module.

Để tiết kiệm thời gian tải, thì:
  1. Không khai báo sớm thư viện trong References khi ứng dụng đến tay người dùng, trừ khi ứng dụng cần runtime. Chỉ gọi khi cần với GetObject, hoặc CreateObject.
  2. Viết mã trong Class module, khi thủ tục được gọi thì mới tải lớp với toán tử New.
  3. Không tạo quá nhiều biến, biến đối tượng, hằng số toàn cục.
 

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

Back
Top Bottom