Lập trình VBA tạo BS TreeView unicode và Task Pane

Liên hệ QC

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia
13/6/06
Bài viết
4,649
Được thích
10,138
Giới tính
Nam
Nghề nghiệp
Giáo viên, CEO tại Bluesofts
Microsoft đã ngừng hỗ trợ ActiveX Controls, các controls cũ không hỗ trợ unicode, không có Task Pane. Tôi đã phát triển BSAC - Bluesofts ActiveX Controls để cho những người lập trình thiết kế phần mềm với giao diện chuyên nghiệp trong VBA.

 
Xin được hỏi bác Duy Tuân: sau khi tạo ra phần mềm sử dụng menu lệnh này, cài đặt trên máy tính không có A-Tools thì menu này còn hoạt động được không ạ?
 
Xin được hỏi bác Duy Tuân: sau khi tạo ra phần mềm sử dụng menu lệnh này, cài đặt trên máy tính không có A-Tools thì menu này còn hoạt động được không ạ?

Em hãy copy file BSAC.OCX trong thư mục hệ thống là
C:\Windows\SysWOW64
hoặc
C:\Windows\System32

Khi mang sang máy khác em phải copy file BSAC.OCX vào thư mục hệ thống của máy đó và Register nhé. Như vậy không cần cài A-Tools (bản chất A-Tools giúp mình cài BSAC mà thôi. Em có thể tạo bộ cài tự động bằng InnoSetup cho tiện dụng.
 
Lần chỉnh sửa cuối:
Em hãy copy file BSAC.OCX trong thư mục hệ thống là
C:\Windows\SysWOW64
hoặc
C:\Windows\System32

Khi mang sang máy khác em phải copy file BSAC.OCX vào thư mục hệ thống của máy đó và Register nhé. Như vậy không cần cài A-Tools (bản chất A-Tools giúp mình cài BSAC mà thôi. Em có thể tạo bộ cài tự động bằng InnoSetup cho tiện dụng.
Thanks bác! Em đã hiểu!!
 
Em hãy copy file BSAC.OCX trong thư mục hệ thống là
C:\Windows\SysWOW64
hoặc
C:\Windows\System32

Khi mang sang máy khác em phải copy file BSAC.OCX vào thư mục hệ thống của máy đó và Register nhé. Như vậy không cần cài A-Tools (bản chất A-Tools giúp mình cài BSAC mà thôi. Em có thể tạo bộ cài tự động bằng InnoSetup cho tiện dụng.

Đã đăng ký thử OCX, khi show trong Toolbox (VBE) khi trỏ chuột qua lại nó hiện Unknown mà không hiện tên nha anh!
 
ĐOÁN BẬY CÁI COI
Hình như File *.OCX đó viết trên VB6 nên nó tèo trên Office x64 thì phải ...
Nếu nói sai Mạnh xin lỗi ... Nói lại -0-0-0-

BSAC.ocx lập trình trên Delphi cho hai nền tảng 32 và 64-bit. Để tôi test thêm control này trên Office 64 bit nữa nhé hpkhuong. Bạn thử trên máy Office 32-bit xem trước nhé.
 
Lần chỉnh sửa cuối:
Mạnh mới thử trên Windows10x64 - Office2016x32 thấy ok đó nha
Còn File *.ocx không nhất thiết phải copy vào Folder hệ thống của Windows vẫn đăng ký ok ... thích để trên Ổ D hay E ok hếtView attachment 199823

Anh thử code xem có view được trên office 32 bit không.

Mình thử test trên office 64 bit (vẫn chọn controls và vẽ vời được trên user form) nhưng khi F5 để run code-> Excel đóng luôn...

Và việc đăng ký thì chỉ đăng ký được vào thư mục System32, không đăng ký được trong thư mục 64 bit ( Đang xài office 64 bit)
 
HƯỚNG DẪN ĐĂNG KÝ ACTIVEX CONTROLS "BSAC.OCX" CHO WINDOWS

(Chỉ làm lần đầu tiên)
Có 3 tình huống copy vào thư mục Hệ thống của hệ điều hành
(*) Nếu Window 32 bit, Office 32-bit
Copy Office 32-bit\BSAC.ocx vào thư mục C:\Windows\System32\
(*) Nếu Window 64 bit, Office 32-bit
Copy Office 32-bit\BSAC.ocx vào thư mục C:\Windows\SysWOW64\
(*) Nếu Window 64 bit, Office 64-bit
Copy Office 64-bit\BSAC.ocx vào thư mục C:\Windows\System32\

Sau khi copy xong, hãy chạy chương trình "Command Prompt" quyền Administrator và đăng ký.
 
Anh thử code xem có view được trên office 32 bit không.

Mình thử test trên office 64 bit (vẫn chọn controls và vẽ vời được trên user form) nhưng khi F5 để run code-> Excel đóng luôn...

Và việc đăng ký thì chỉ đăng ký được vào thư mục System32, không đăng ký được trong thư mục 64 bit ( Đang xài office 64 bit)
Ý code theo hình phải không ... Thấy OK đó ha
rrr.PNG
Thử tools sau đăng ký xem sao ... File *.ocx để ổ nào tùy thích nha miễn sao trên HDD cài Win ( USB là thua)

Mạnh đang nghĩ nếu Ứng dụng tốt ta nghĩ ra 1 cách là đính kèm File *.ocx vào Excel xong mang đi máy nào là có luôn trong đó ... Nhưng khó là làm sao Code để xuất File *.ocx đó từ Excel ra Folder
 

File đính kèm

  • ReadyForActiveXDLL.rar
    21.8 KB · Đọc: 28
Lần chỉnh sửa cuối:
Ý code theo hình phải không ... Thấy OK đó ha
View attachment 199834

Sự kiện BSTaskPaneX1_OnVisible để báo người lập trình biết trạng thái ẩn/hiện.

Mã:
Private Sub BSTaskPaneX1_OnVisible(ByVal View As Boolean)
    If Not View Then
        MsgBox "Task Pane dang an (visible = False)."
    Else
        MsgBox "Task Pane dang hien thi (visible = True)."
    End If
End Sub

Khi cần hiển thị lại thì chạy thủ tục:
Mã:
Sub ViewTaskPane()
    UserForm3.BSTaskPaneX1.View = True
End Sub
 
Mạnh đang nghĩ nếu Ứng dụng tốt ta nghĩ ra 1 cách là đính kèm File *.ocx vào Excel xong mang đi máy nào là có luôn trong đó ...
Gói ocx vào tập tin Excel? Thế thì nặng tập tin Excel.
Nhưng khó là làm sao Code để xuất File *.ocx đó từ Excel ra Folder
Thì ghi nội dung ocx vào Excel rồi sau đó đọc ra thôi.
Tôi nghĩ ghi ocx ở dạng ảnh và ẩn ảnh đi. Sau đó đọc "ảnh" (ảnh nhái vì thực ra là nội dung ocx) và ghi ra đĩa.

Ai có cách hay khác không?
 
Gói ocx vào tập tin Excel? Thế thì nặng tập tin Excel.

Thì ghi nội dung ocx vào Excel rồi sau đó đọc ra thôi.
Tôi nghĩ ghi ocx ở dạng ảnh và ẩn ảnh đi. Sau đó đọc "ảnh" (ảnh nhái vì thực ra là nội dung ocx) và ghi ra đĩa.

Ai có cách hay khác không?
ý tưởng của em là vậy nhưng viết code ko biết bắt đầu từ đâu
Em có Tìm Anh Google hoài mà không thấy Code mẫu
 
Web KT
Back
Top Bottom