Tạo ngăn tác vụ – TaskPane cho Excel và kết nối Control OCX

Chia sẻ bởi:hands
★★★★★
Quảng cáo

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ự
Khóa học SprinGO phù hợp

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
★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Leave a Reply

Your email address will not be published. Required fields are marked *

Quảng cáo

Cũ vẫn chất

Xem thêm