Tạo ngăn tác vụ – TaskPane cho Excel và kết nối Control OCX
Mô tả sơ lược hình thành và tham khảo
1/ bỏ đi sau nhiều năm không đụng tới từ chủ đề sau
www.giaiphapexcel.com/diendan/threads/hooklab-t%E1%BA%A1o-c%E1%BB%ADa-s%E1%BB%95-taskpane-actionpane-b%E1%BA%B1ng-userform.143060/page-2#posts
2/ do nhu cầu cần dùng tới mới lục ra xem lại và tham khảo nguồn sau của tây
stackoverflow.com/questions/30932417/create-excel-customtaskpane-in-delphi-add-in?fbclid=IwAR2cunsVfMYmSyDYfn7z5od2QpL1UATa1XlL8lgcwxtA9GHSdDjRlTdrIEI
3/ Tài liệu + nguồn viết TasKpane trên C#, VBNet,c++, VB6 ………. và chỉ dẫn của Ms tràn ngập không gian mạng
4/ sử dụng AddIns của bên thứ 3 như
www.add-in-express.com/docs/vcl-excel-automation-addins.php
Hoặc của thành viên GPE này BSAC.ocx – Nguyễn Duy Tuân
…..
5/ Tài liệu cho Delphi gần như không có chỉ duy nhất link trên chỉ dẫn 1 cách à ơi vài dòng đó
Giới thiệu MyTaskPane.ocx
Hôm nay tôi giới thiệu tới ai đó 1 TaskPane do chính Tôi viết và không lệ thuộc bất cứ thư viện của bên thứ 3 nào cả
bên cạnh đó sẽ từng bước xuất các hàm người dùng nó tạo TaskPane cho VBA ……….
1/ xuất Hàm CreateCTP là hàm tạo kết nối COM tới control OCX do người dùng tự viết
VD trên VB6 hay bất cứ ngôn ngữ nào có hổ trợ COM theo tiêu chuẩn của Ms
dưới đây là VD cho VB6 … từ VB6 bạn tạo 1 Control OCX theo hình sau
2216
Lưu ý:
1/ khoanh màu xanh là tên dự án *.OCX của bạn
2/ khoanh màu đỏ là tên Control của bạn
3/ Còn khoanh màu nâu là nơi Bạn thể hiện tài năng Or Khả năng của chính Bạn …. nó sẽ show ra cửa sổ TaskPane
Code sử dụng cho VB6 như sau
Sub ShowTaskPane_VB6()
Set CTP = CreateObject("MyTaskPane.cTaskPane") ''Tao ket noi qua COM AddIns Delphi
With CTP.CreateCTP("VB6.UserControl1", "My Caption") ''Su dung Control VB6
.DockPosition = msoCTPDockPositionRight
.Visible = True
End With
Set CTP = Nothing
End Sub
Để test thử Taskpane do Tôi đang mày mò viết nó sẽ Show ra thì code như sau
Sub ShowTaskPane2()
Set CTP = CreateObject("MyTaskPane.cTaskPane")
With CTP.CreateCTP("MyTaskPane.TaskPane", "My Caption") ''Su dung Control Delphi
.DockPosition = msoCTPDockPositionRight
.Visible = True
End With
Set CTP = Nothing
End Sub
hình ảnh sẽ như sau và tùy chỉnh với các tham số kéo thả + khóa + Show Hide từ VBA
2215
Hướng dẫn sử dụng
1/ Tùy theo bạn đang sử dụng cho Office32 bit hay 64 bit thì đăng ký OCX theo 32 hay 64 ( MyTaskPane.OCX )
Kéo thả File MyTaskPane.OCX vào File *.VBS xong Chọn Yes
2/ Tạo 1 dự án OCX của bạn như mô tả cho VB6 ở trên hay bất cứ ngôn ngữ nào có hổ trợ COM tạo OCX
3/ đăng ký OCX của chính bạn và sử dụng
4/ khi đăng ký thành công mà thay đổi đường dẫn lưu nó thì thao tác lại từ đầu
sau đây là bản demos thử nghiệm và từng bước tôi sẽ viết thêm hàm người dùng + điều chỉnh + Fix lỗi lại cho phù hợp
đính kèm là code mẫu VB6 … Chúc mừng năm mới theo tết Tây
Tôi đã hoàn thành thiết kế 1 cổng COM kết nối cho TaskPane và Úp lên github.com
Cách sử dụng như bài số 1……… code mẫu như sau
Sub ShowTaskPane_DriverTaskPane()
Dim CTP As Object
Set CTP = CreateObject("DriverTaskPane.cTaskPane")
With CTP.CreateCTP("MyTaskPane.TaskPane", "My Caption") ''MyTaskPane.TaskPane = Su dung Control Delphi Or Cua Ban
.DockPosition = msoCTPDockPositionRight
.Visible = True
End With
Set CTP = Nothing
End Sub
Hổ trợ Sử dụng cho Ms Office : Excel – Word – Access – PowerPoint – Outlook
Sử dụng tốt cho tất cả các ngôn ngữ lập trình khác có hổ trợ COM theo tiêu chuẩn của Ms và Tạo UserControl.OCX
Xong giai đoạn 1
chuyển giai đoạn 2
Sẽ khó khăn rất nhiều xuất hàm người dùng sử dụng cho VBA …. nếu thành công tôi sẽ đặt cho nó cái tên AddIns TaskPane Cho Excel sử dụng cho Ms Office : Excel – Word – Access – PowerPoint – Outlook
2218
Link tải DriverTaskPane.dll
[URL='github.com/KieuManh366377/Driver-COM-TaskPane/raw/main/DriverCOMTaskPane.rar']Downloads
Bản Demos cho For Free không cá nhân hóa và giới hạn sử dụng
1/ Tùy theo ai đó sử dụng Office 32 bit thì dùng file 32 còn 64 thì dùng File 64
2/ Kéo DLL thả vào file *.VBS xong chọn Yes
3/ nếu sau khi đăng ký mà thay đổi Folder thì thực hiện lại
4/ Sau khi Fix lỗi và hoàn thiện sẽ xóa File bài này Úp lên kho Lưu trữ github.com
5/ Hổ trợ Sử dụng cho Ms Office : Excel – Word – Access – PowerPoint – Outlook
Code chung như sau
Rem ********************************************
Dim CTP As Object ''Tao ket Noi
Dim CT As Object ''Cho TaskPane
Dim MyControl As Object ''[ As MyTaskPane = Check ocx ]
Rem ********************************************
Rem ********************************************
Sub ShowTaskPane_MyTaskPane_Example()
Set CTP = CreateObject("MyTaskPane.cTaskPane")
Set CT = CTP.CreateCTP("MyTaskPane.TaskPane", "My Caption")
Rem ****************
Rem CT.DockPosition = msoCTPDockPositionRight
CT.DockPosition = msoBarRight ''ben phai
Rem CT.DockPosition = msoBarLeft ''ben trai
Rem ****************
CT.Visible = True
Set CT = Nothing
End Sub
www.giaiphapexcel.com/diendan/threads/t%E1%BA%A1o-ng%C4%83n-t%C3%A1c-v%E1%BB%A5-taskpane-cho-excel-v%C3%A0-k%E1%BA%BFt-n%E1%BB%91i-control-ocx.163737/
Khoá học Trưởng phòng nhân sự
Nguồn nhân lực là một trong Tứ trụ kinh doanh của doanh nghiệp, có tác động tới sự tồn tại và phát triển bền...
Xem khóa học