Nhờ GPE giúp đở về Add-ins và Activex Dll

Liên hệ QC

pham van an

Thành viên mới
Tham gia
22/4/09
Bài viết
45
Được thích
22
Nghề nghiệp
Giảng viên Xây dựng
Em muốn chuyển code sang dạng Add-ins hoặc Activex Dll. e nhờ GPE giúp đở.
 

File đính kèm

Em muốn chuyển code sang dạng Add-ins hoặc Activex Dll. e nhờ GPE giúp đở.
1. File sao chẳng có gì cả ngoài 1 hình ôval thiết kế mà không có macro nào?
2. Không nói rõ ý đồ của mình sao mọi người giúp được
Chuyển sang Addin thường hay áp dụng cho các hàm
Các thủ tục chạy trên wỏkbook hiện hành thì anh hay thực hiện lênh trên menu
Em trình bày ý tưởng rỏ hơn mọi người mới giupd được
 
Upvote 0
Em muốn chuyển code sang dạng Add-ins hoặc Activex Dll. e nhờ GPE giúp đở.

1. Tạo Add-in :

Bạn lưu code VBA với đuôi .xla rồi add vào Excel dạng Add-in là được.

2. Tạo ActiveX DLL :

Bài toán chuyển sang Activex .dll thì khá là phức tạp. Phải dùng VB6, code trong VB6 có nhiều điểm giống VBA, tuy nhiên không thể cứ copy code sang VB6 là chạy được ngay, cần qua nhiều bước chỉnh sửa và thử nghiệm. Trên diễn đàn đã có nhiều bài về vấn đề này, bạn xem các link sau, cứ theo đó là làm được. Chúc thành công!

http://www.giaiphapexcel.com/forum/...xcel-với-Visual-Basic-6.0&p=209714#post209714

http://www.giaiphapexcel.com/forum/...-trình-VB6-DLL-cho-Excel-Debugging-cho-Excel&
 
Lần chỉnh sửa cuối:
Upvote 0
code em đã đưa vào trong file add-ins kèm theo rồi. còn code trong file XLS thì em xóa. em đã add vào rồi nhưng ko chạy được. code em đơn giản thôi.
Sub Oval1_Click()
Sheet2.Activate
Range("a1").Select
End Sub
 
Upvote 0
code em đã đưa vào trong file add-ins kèm theo rồi. còn code trong file XLS thì em xóa. em đã add vào rồi nhưng ko chạy được. code em đơn giản thôi.
Sub Oval1_Click()
Sheet2.Activate
Range("a1").Select
End Sub
Như thế là không được rồi, nếu vậy em tạo menu để thực hiện lệnh và chú ý code có thay đổi với ActiveWorkbook
Khi em đã save as file Addin rồi thì file .xls có tác dụng như file bình thường không viên quan đến File addin đó
 
Upvote 0
code em đã đưa vào trong file add-ins kèm theo rồi. còn code trong file XLS thì em xóa. em đã add vào rồi nhưng ko chạy được. code em đơn giản thôi.
Sub Oval1_Click()
Sheet2.Activate
Range("a1").Select
End Sub

Mở file .xls ra xem mới hiểu ý của bạn An.

Bạn tải file đính kèm về --> add Test.xla vào Excel --> tiếp tục mở file Test.xls --> click vào hình Oval để xem kết quả.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Cám ơn anh ptlong.Nhưng ý của em là muốn để code trong file add-ins. Chứ file trên anh để code trong file .xls rồi.
 
Upvote 0
Cám ơn anh ptlong.Nhưng ý của em là muốn để code trong file add-ins. Chứ file trên anh để code trong file .xls rồi.

Trường hợp của bạn là :

- Bạn đang có 1 file .xls bất kỳ với 1 hình Oval nằm trong đó 1 file .xla xác định. Đây là 2 file độc lập nhau.

- Thông qua việc click hình Oval trong 1 file .xls để gọi 1 sub đang nằm trong 1 file .xla, lúc này buộc phải Assign macro cho hình Oval trong file .xls đó, và đương nhiên là phải có code trong file .xls, dù cho bạn dùng add-in .xla hay ActiveX .dll thì cách làm vẫn phải là vậy.

Nếu bạn muốn hoàn toàn không có code trong file .xls thì phải gán phím tắt cho sub trong file .xla hoặc tạo menu bằng code trong file .xla, lúc đó có thể gọi sub đó từ file .xls bất kỳ mà không cần có code trong file .xls. Cái này bạn search trên DĐ có rất nhiều.
 
Upvote 0
Web KT

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

Back
Top Bottom