Thử nghiệm Addin XLL VISUAL STUDIO 2015

  • Thread starter Deleted member 1294
  • Ngày gửi
D

Deleted member 1294

Guest
Mình đang nghiên cứu về addin xll cho excel các bạn thử xem nó chạy có ổn định không nhé !
Office 32 bit link:
Ofice 64bit link:
Yêu cầu để chạy được file: netframe 4.5.2 trở lên
Hướng dẫn: copy file bỏ vào thư mục addin của excel như những addin excel bình thường.
Giao diện addin:
Bạn cần đăng nhập để thấy hình ảnh
 

NhanSu

SMod
Thành viên BQT
Có nhiều loại addin cho excel, mình xin chia sẻ những điều theo ý mình hiểu:
- Addin viết bằng VBA (file .xla, .xlam)
- COM addin: không chứa UDF để gõ công thức trực tiếp trong cell, MS đặt ra một khuôn mẫu (interface) IDTExtensibility2 mà tất cả COM addin bắt buộc phải thực hiện (implement). IDTExtensibility bao gồm các phương thức như OnConnection, OnDisconnection... Các COM addin tương tác với excel thông qua các phương thức này.
VSTO addin cũng là COM addin nhưng đơn giản hơn. VSTO đã tự implement IDTExtensibility2, ta không cần viết các method OnConnection,... nữa, thay vào đó VSTO đưa ra interface mới là IStartUp chỉ bao gồm method Startup và Shutdown.
Một số phần mềm để tạo addin cũng tương tự như VSTO, chẳng hạn Addin Express. Đây là phần mềm khá mạnh, tạo được nhiều loại addin, tuy nhiên giá cao.
- Automation addin: có thể tạo UDF để gõ công thức trên cell. Addin này có thể tạo bằng VB6 (ActiveX DLL) hay .NET (ví dụ với C# là project class library)
- XLL addin, thực chất là các DLL, có thể tạo UDF để gõ trên cell. Để tạo XLL có thể dùng C++ hoặc .NET với Excel DNA hay Addin express. Về mặt kỹ thuật, mình chưa phân biệt rõ được automation addin và xll.
- Web addin: sử dụng HTML, JavaScript để tạo, phục vụ chạy đa nền tảng: Windows, Mac, web.
 
D

Deleted member 1294

Guest
Mình thấy addin dạng này bảo mật rất tốt vì hiện tại mình chưa biết cách xem mã nguồn của nó nên đang nghiên cứu về nó để trãi nghiệm !
 
D

Deleted member 1392

Guest
Máy mình Test trên nền Win 7 - 64bit thấy hoạt động tốt nhé. XLL đúng là có khả năng bảo mật code khá tốt. Cũng dễ hiểu, nó hoạt động tương tự như DLL, Excel sẽ chỉ gọi các tài nguyên bên trong file để sử dụng. Nhưng sẽ có ưu và nhược.

1. Ưu điểm: Dễ sử dụng, hoạt động không cần thêm 1 file DLL mà chỉ cần mở là dùng, giống như .xlam bình thường. Khả năng bảo mật là cao, khó biên dịch.

2. Nhược điểm: Nếu có ý định chia sẽ cho nhiều người dùng thì sẽ cần viết Code cực kỹ. Khó thao tác, sữa chữa khi người dùng gặp lỗi. Viết trên ngôn ngữ C/C++.
 

NhanSu

SMod
Thành viên BQT
@USA_Covid19 bạn sử dụng công cụ gì để tạo addin vậy? Mình biết một số công cụ như addin express hay excel dna có thể tạo xll từ .NET. Vấn đề bảo mật mình cũng thích nhưng không có khả năng và thời gian tìm hiểu, nhìn code đã pack là thấy ngại rồi.
 
D

Deleted member 1294

Guest
Tool mở khóa tất cả các sheet và tool ẩn hiện sheet bằng addin xll
link office 32:
link ofice64:
Bạn cần đăng nhập để thấy đa phương tiện
 
Sửa lần cuối bởi điều hành viên:
D

Deleted member 1392

Guest
Rất hay, mình test và thấy Tool hoạt động tốt. Tool chạy nhanh, nhưng có một chút khó khăn khi mở khóa sheet. Sheet mở khóa sẽ bị copy, tạo thành file mới và mở ra trong khi file cũ vẫn đang mở. Theo góc độ của mình, chỉ cần mở khóa cho file đang mở là đc. Còn nếu tạo ra file mới, thì nó phải là dạng Tool chọn file, khi mà ta có thể select file cần mở khóa.

Chút góp ý nhỏ góc độ cá nhân mong Tool tốt hơn
 
D

Deleted member 1294

Guest
@Ngày Mới đúng vậy bạn, thật ra thiết kế ban đầu là chọn file cần mở nhưng thấy hơi bất tiện cho những file đang mở cần chỉnh sữa mà phải chọn lại file đó nên mặc định mình để activeworkbook luôn, còn về phần tạo ra file mới thì cũng có nhiều lý do !
-phòng trường hợp file bị lỗi sau mở khóa !
-vì addin nên nếu đóng file đang mở để ghi đè lên thì addin sẽ tắt dẫn đến lỗi !
-Có thể làm dc như ý tưởng của bạn nhưng file phải đang đóng !
 
D

Deleted member 1294

Guest
Bổ sung thêm tính năng di chuyển nhanh tới sheet và tạo unviewable cho file đang mở hỗ trợ xlsm, xlsb, xls link update bài #9
 

Mabel_328

Yêu THVBA
@NhanSu bác cho e hỏi, em tạo addin xll bằng C++, chuyển qua máy khác thì k dùng được ạ
bác có cách nào k
 
Sửa lần cuối:

NhanSu

SMod
Thành viên BQT
Khả năng bạn không chọn đúng phiên bản, xll 32/64 bit dùng với excel 32/64 bit (không phải phải phiên bản windows).
 

NhanSu

SMod
Thành viên BQT
Bạn có thể share project lên xem, nói như vậy rất khó, vs chỉ là trình biên dịch, có thể xll của bạn khi chạy cần thư viện nào đó chưa cài trên máy khác chứ không phải vs đâu.
 

Mabel_328

Yêu THVBA
em gửi file lên, em đã thử tìm mà k ra là nó thiếu thư viện hay gì
em viết nó bằng xlw C++
 

Mabel_328

Yêu THVBA
Em gửi lại link, hàm XinChao đơn giản để thử nghiệm ạ
 
Top