[New] BSAC v3.0 bộ công cụ lập trình phần mềm chuyên nghiệp trong VBA (1 người xem)

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,858
Được thích
10,346
Giới tính
Nam
Nghề nghiệp
Giáo viên, CEO tại Bluesofts
Tất cả các controls trong activex BSAC đều hỗ trợ unicode cho các nền tảng 32-bit và 64-bit. Các control: TreeView, ListView, TaskPane, ImageList,... thay thế acticex cũ của Microsoft là MSCOMCTL. Công việc lập trình dễ dàng và hiệu quả với Bluesofts Activex Controls.
Bluesofts phát hành BSAC v3.0.0.0 (22-09-2020)
Các nâng cấp chính:
1. Sửa: lỗi mất BSTooltip không hoạt động từ v2.2
2. Sửa: TaskPane trên bản 64-bit thi thoảng màn hành không update, phải dùng chuột kéo
3. Sửa: Lỗi tràn bộ nhớ do một số thư viện chưa giải phóng hết khi thoát ứng dụng.
4. Thêm control BSImage hiển thị các loại ảnh và ảnh PNG (Image trong VBA không có). BSImage còn cho phép cập nhật biểu đồ - Chart trong Excel.
5. Thêm control BSImageList cho phép nhúng các ảnh, icon vào trong file, phiên bản cũ phải nạp file khi chạy, mang file ảnh đi cùng chương trình. Việc nạp ảnh này bạn không còn phải để các file rời rạc nữa. BSImageList cập nhật biểu đồ trên Excel.
6. Task Pane khởi động nhanh hơn.
7. Tất cả các controls cho phép nhúng trên Worksheet mà vẫn nhập liệu được vào nó. Phiên bản cũ bị nhảy vào worksheet.
8. Thêm class BSStream, control BSStreamX để trao đổi dữ liệu trong memory.
9. Các controls BSGraphic, BSImage, BSImageList cho phép truyền dữ liệu dạng Stream (IStream) nên tốc độ truy xuất dữ liệu rất nhanh.
Thư viện BSAC được cài đặt cùng với bộ Add-in A-Tools, bạn cũng có thể tải riêng file độc lập về theo link tại đây:
(*) Download: http://bluesofts.net/giai-phap-phan-mem/bsac-bluesofts-activex-controls.html


Giới thiệu tổng thể BSAC bản cũ:
 
Tuyệt vời quá, tưởng anh Tuân đã bỏ rơi bộ này như Microsoft với VB6 :)
 
Tất cả các controls trong activex BSAC đều hỗ trợ unicode cho các nền tảng 32-bit và 64-bit. Các control: TreeView, ListView, TaskPane, ImageList,... thay thế acticex cũ của Microsoft là MSCOMCTL. Công việc lập trình dễ dàng và hiệu quả với Bluesofts Activex Controls.
Bluesofts phát hành BSAC v3.0.0.0 (22-09-2020)
Các nâng cấp chính:
1. Sửa: lỗi mất BSTooltip không hoạt động từ v2.2
2. Sửa: TaskPane trên bản 64-bit thi thoảng màn hành không update, phải dùng chuột kéo
3. Sửa: Lỗi tràn bộ nhớ do một số thư viện chưa giải phóng hết khi thoát ứng dụng.
4. Thêm control BSImage hiển thị các loại ảnh và ảnh PNG (Image trong VBA không có). BSImage còn cho phép cập nhật biểu đồ - Chart trong Excel.
5. Thêm control BSImageList cho phép nhúng các ảnh, icon vào trong file, phiên bản cũ phải nạp file khi chạy, mang file ảnh đi cùng chương trình. Việc nạp ảnh này bạn không còn phải để các file rời rạc nữa. BSImageList cập nhật biểu đồ trên Excel.
6. Task Pane khởi động nhanh hơn.
7. Tất cả các controls cho phép nhúng trên Worksheet mà vẫn nhập liệu được vào nó. Phiên bản cũ bị nhảy vào worksheet.
8. Thêm class BSStream, control BSStreamX để trao đổi dữ liệu trong memory.
9. Các controls BSGraphic, BSImage, BSImageList cho phép truyền dữ liệu dạng Stream (IStream) nên tốc độ truy xuất dữ liệu rất nhanh.
Thư viện BSAC được cài đặt cùng với bộ Add-in A-Tools, bạn cũng có thể tải riêng file độc lập về theo link tại đây:
(*) Download: http://bluesofts.net/giai-phap-phan-mem/bsac-bluesofts-activex-controls.html


Giới thiệu tổng thể BSAC bản cũ:
License của BSAC mua ntn vậy a?
 
tác giả cho hỏi, nghe nói bộ bsac này làm việc được trên vba lẫn Delphi, vậy cho hỏi làm sao để đưa bsac.ocx qua Delphi mà sử dụng, mình không thấy video nào hướng dẫn hết.
 
tác giả cho hỏi, nghe nói bộ bsac này làm việc được trên vba lẫn Delphi, vậy cho hỏi làm sao để đưa bsac.ocx qua Delphi mà sử dụng, mình không thấy video nào hướng dẫn hết.

Lập trình với BSAC trong Delphi dược bạn nhé. Mình sẽ làm video ví dụ này.
 
Thông tin các bản nâng cấp cũng như vá lỗi của BSAC từ năm 2020 đến nay.

v3.1.0.12: 31-10-2025

+ Sửa: Sửa lỗi rò rỉ bộ nhớ với tất cả các controls (BSListView, BSTreeView, BSListBox, BSCombobox, BSTaskPaneX,...)

+ Sửa: lỗi lấy thuộc tính đối tượng Group trong BSListItem. Ví dụ
BSListView1.Selected.Group

+ Thêm: BSImageList thêm thủ tục ReCreate để tạo lại tương thích với độ phân giải màn hình từ Windows 10 trở lên. Nên chạy thủ tục này khi mở form.

+ Thêm: BSGraphic thêm thủ tục ScaleBitmap để tạo lại tương thích với độ phân giải màn hình từ Windows 10 trở lên. Nên chạy thủ tục này khi mở form.

v3.1.0.11: 27-10-2025

+ Sửa: lỗi báo hàm callback LoadRibbon ở một số máy.

v3.1.0.10: 18-06-2025

+ Nâng cấp: thêm thuộc tính mở link trên BSTooltip/BSTooltipX khi đặt thuộc tính ClickClose = False.
+ Nâng cấp: hàm MsgBoxTimer hiển thị thanh ProgressBar đúng với độ phân giải màn hình.
+ Sửa: các đối tượng lập trình kiểu collection (danh sách) hiển thị ở cửa sổ "Local Window" đúng.

v3.1.0.9: 09-06-2025

+ Sửa: Lỗi Task Pane khi tạo Task Pane trên file chưa lưu tên, đóng không lưu gây lỗi khi tạo tiếp trên file khác.
+ Thêm: thêm sự kiện OnDestroy() cho các class BSTaskPane và BSTaskPaneX.

v3.1.0.8: 05-10-2024

+ Nâng cấp: thêm 3 class để tạo và nhận dữ liệu JSON: BSJSONValue; BSJSONObject; BSJSONArray
+ Nâng cấp: control BSWebView thêm các thuộc tính và sự kiện đầy đủ hơn.
+ Nâng cấp: thêm hàm BSCreateStrings() để tạo class BSStrings.
+ Nâng cấp: class BSStrings thêm các thuộc tính và thủ tục đầy đủ hơn.

v3.1.0.7: 19-09-2024

+ Nâng cấp: cho phép tạo TaskPane nhúng activex control.
Ví dụ:
Dim TP as BSTaskPane
Dim TPs As New BSTaskPanes
Set TP = TPs.Add("My website", "AX:BSAC.BSWebView")
'("AX:LibName.ControlProg")
Set TPs = Nothing

v3.1.0.6: 14-09-2024

+ Thêm mới: thêm control BSWebView cho phép mở trang web.
+ Nâng cấp: BSTaskPane cho phép tạo task pane theo đặc tính riêng. Xem Task Pane hiển trị trợ giúp trong Add-in A-Tools v10 (2024).
+ Sửa: một số lỗi khác được khắc phục.


v3.1.0.2: 18-03-2022

+ Sửa: Kiểm tra license online trên Microsoft Word tốt hơn.

v3.1.0.1: 15-01-2022

+ Thêm: cho phép kích hoạt license online
+ Nâng cấp: ẩn thông tin quảng cáo nếu có license.

v3.1.0.0: 04-08-2021

+ Sửa: lỗi khi code tạo Task Pane ở một file nhưng Task Pane ở file khác. Lỗi này do cơ chế cũ tạo Task Pane trên ActiveWindow.

+ Nâng cấp: Cho phép tạo Task Pane có Caption/tên trùng nhau. Phiên bản cũ không cho phép. Khi nhập trùng tên bạn cần khai báo thuộc tính ID để đảm bảo khác nhau.

+ Nâng cấp: BSTaskPane và BSTaskPaneX thêm thuộc tính ID: thuộc tính này làm cơ sở tìm kiếm. Nếu không nhập nó tự nhận giá trị là Caption - Tên của Task Pane.
Trong trường hợp Task Pane giống nhau về Caption thì phải khai báo ID.

+ Nâng cấp: Cho phép tạo Task Pane trên một Window bất kỳ của ứng dụng Office.

- Với TBSTaskPaneX
TBSTaskPaneX.Create(Me, "Tên", Application, Workbook"[Tên wb"].Windows(1))
- Với TBSTaskPane
Dim TPs As New BSTaskPanes
Dim TP as BSTaskPane
Set TP = TPs.Add("Tên", Me, Window:=ActiveWindow)

+ Nâng cấp: Các thủ tục và hàm trong BSTaskPanes thêm tham số tùy chọn Window. Tham số này làm cơ sở tì kiếm các Task Pane nằm trong Window chỉ định.
Sub Clear([Window])
Function IndexOf(Item, [Window]) As Long
Sub Remove(Index, [Window])
+ Nâng cấp: Cung cấp các ví dụ đầy đủ hơn của BSAC.

BSAC được tự động cài với bộ Add-in A-Tools, bạn có thể tải riêng BSAC cùng các ví dụ tại đây.
 
Không thấy anh nhắc nhở người dùng kiểm tra WebView2 Runtime đã cài đặt chưa, WebView2 hoạt động trên Win10 trở về sau. Cài cho Win7 khả năng lỗi cao. Hoặc chỉ cần anh thêm lệnh kiểm tra WebView2 đã cài đặt chưa cho lập trình.
 
Không thấy anh nhắc nhở người dùng kiểm tra WebView2 Runtime đã cài đặt chưa, WebView2 hoạt động trên Win10 trở về sau. Cài cho Win7 khả năng lỗi cao. Hoặc chỉ cần anh thêm lệnh kiểm tra WebView2 đã cài đặt chưa cho lập trình.

Uh. control BSWebView này mình mới thêm vào bộ activeX BSAC và chưa viết tài liệu cho nó. Control này dùng thư viện WebView2 và chạy Windows 10 trở lên, phiên bản thấp hơn vẫn có thể tùy thuộc vào cách cài đặt thư viện WebView2 theo version nào nữa (về lý thuyết là vậy nhưng triển khai cho Win phiên bản < 10 khá lằng nhằng với nhiều người lập trình).

Nhân đây mình giới thiệu kỹ hơn cách thiết lập môi trường và kiểm tra BSWebView có thể chạy được hay không (Nếu BSAC cài theo A-Tools thì nó sẽ dùng các thiết lập A-Tools).

Thiết lập và kiểm tra môi trường cho BSWebView

Khi nhúng BSAC.ocx vào VBAProject thì dùng hàm InitWebView() để thiết lập môi trường và kiểm tra có thể chạy BSWebView hay không. Cấu trúc hàm InitWebView như dưới đây:
Mã:
Function InitWebView(PathLib As String, [PathCache As String], [SetCurrentDir As Boolean = False]) As Boolean

Các tham số hàm InitWebView:

+ PathLib: là địa chỉ chứa file thư viện "WebView2Loader.dll". Bạn có thể nhập địa chỉ thư mục hệ thống của Windows như C:\Windows\System32 hoặc C:\Windows\SysWOW64 tùy vào môi trường 32 hay 64-bit (tốt nhất dùng hàm Windows API GetSystemDirectory() hoặc hàm có sẵn trong BSAC là GetSysDir() để nhận thư mục hệ thống).
+ PathCache: là địa chỉ lưu dữ liệu của web trong quá trình tải.
+ SetCurrentDir: Nếu là True, BSWebView sẽ dùng thư mục chạy ứng dụng thay cho PathLib. Không nên dùng tham số này khi chạy VBA.

* Khuyến nghị: Bạn chỉ nên dùng control BSWebView từ Windows 10 trở lên.
 

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

Back
Top Bottom