Lập trình VBA tạo BS TreeView unicode và Task Pane (4 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia
13/6/06
Bài viết
4,813
Được thích
10,315
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!!
 
Đ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:
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

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
 

File đính kèm

Em đính kèm File *.OCX vào Excel vậy có cách nào mình viết code xuất File đó ra Folder được ko Anh
View attachment 199842
Thế này thì tôi cũng chưa biết. Vì thế tôi tự tạo cho mình cách khác: Đặt trên sheet 1 Image (developer -> Insert -> ActiveX Controls -> Image) -> dùng code để chèn tập tin bất kỳ (text, jpg, exe, dll, ocx, xml ...) vào Image. Khi cần thì bung tập tin từ Image ghi vào đĩa cứng rồi sử dụng. Sau khi sử dụng thì xóa tập tin trên đĩa (hoặc không xóa)
 
Thế này thì tôi cũng chưa biết. Vì thế tôi tự tạo cho mình cách khác: Đặt trên sheet 1 Image (developer -> Insert -> ActiveX Controls -> Image) -> dùng code để chèn tập tin bất kỳ (text, jpg, exe, dll, ocx, xml ...) vào Image. Khi cần thì bung tập tin từ Image ghi vào đĩa cứng rồi sử dụng. Sau khi sử dụng thì xóa tập tin trên đĩa (hoặc không xóa)
vậy mình xuất file đó ra bằng code hay sao Anh ... Anh chỉ cho em học với
 
Web KT

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

Back
Top Bottom