Giới thiệu thư viện VariantEnum COM cho VBA (1 người xem)

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

Tôi tuân thủ nội quy khi đăng bài

phuongnam366377

Thành viên thường trực
Tham gia
25/10/19
Bài viết
216
Được thích
224
Dưới đây là bài viết giới thiệu thư viện VariantEnum COM dành cho cộng đồng Giải Pháp Excel, nơi tập trung đông đảo người dùng VBA.

Giới thiệu thư viện VariantEnum COM cho VBA​

Tác giả: Kiều Mạnh
Ngôn ngữ: C++ (COM)
Dành cho: VBA trong Excel, Word, Access, Outlook...

Mục tiêu​

Thư viện VariantEnum COM được xây dựng nhằm hỗ trợ người dùng VBA xử lý danh sách chuỗi một cách linh hoạt và hiệu quả. Thay vì phải viết lại các hàm sắp xếp phức tạp trong VBA, bạn chỉ cần gọi các phương thức có sẵn từ đối tượng EnumProvider.

Tính năng nổi bật​

Hàm COMChức năng
SortByLengthAscSắp xếp chuỗi từ ngắn đến dài
SortDescIgnoreCaseSắp xếp giảm không phân biệt hoa/thường
SortLenAlphaCIRevStableSắp xếp theo độ dài, chữ cái giảm, giữ thứ tự ban đầu
SortLenMixedAlphaChuỗi không phải số trước, sau đó theo chữ cái
SortLenNumAscSắp xếp chuỗi số theo giá trị tăng dần

Ví dụ sử dụng trong VBA​

Dưới đây là đoạn mã kiểm thử thư viện:
Mã:
Sub TestSortLenFinal()
    Dim ep As VariantEnum.EnumProvider
    Set ep = New VariantEnum.EnumProvider

    ' Them du lieu mau
    ep.Add "kiwi"
    ep.Add "Apple"
    ep.Add "banana"
    ep.Add "123"
    ep.Add "CHERRY"
    ep.Add "456"
    ep.Add "melon"
    ep.Add "789"
    ep.Add "apple"   ' trung noi dung de kiem thu stable

    Debug.Print "=== Original List ==="
    PrintAllItems ep

    Debug.Print "=== SortLenAlphaCIRevStable ==="
    ep.SortLenAlphaCIRevStable
    PrintAllItems ep

    Debug.Print "=== SortLenMixedAlpha ==="
    ep.SortLenMixedAlpha
    PrintAllItems ep

    Debug.Print "=== SortLenNumAsc ==="
    ep.SortLenNumAsc
    PrintAllItems ep
End Sub

Sub PrintAllItems(ep As VariantEnum.EnumProvider)
    Dim i As Long
    For i = 1 To ep.Count
        Debug.Print "Item " & i & ": " & ep.Item(i)
    Next
End Sub

Cài đặt​


  1. Đăng ký DLL bằng regsvr32 VariantEnum.dll

  2. Vào VBA → Tools > References → chọn VariantEnum COM Library

Tài liệu & COM DLL​

hướng dẫn chi tiết đã được chia sẻ tại GitHub:
https://github.com/KieuManh366377/VariantEnum-COM-Library-for-VBA

Mời đóng góp​

Nếu bạn có ý tưởng mở rộng hoặc phát hiện lỗi, hãy mở issue hoặc pull request trên GitHub. Thư viện này hoàn toàn miễn phí theo giấy phép MIT.


Hy vọng thư viện này sẽ giúp cộng đồng VBA tại GPE tiết kiệm thời gian và tăng hiệu quả xử lý chuỗi!

---
Giao diện sử dụng trong VBE (Visual Basic Editor) của Excel sẽ rất quen thuộc với người dùng VBA.

1760064201723.png

Đây là thư viện COM cuối cùng mình viết cho VBA, chia sẻ lại cho cộng đồng trước khi mình chuyển sang nghiên cứu hệ thống Web Server.
Ai cần thì dùng, ai thích thì chơi – chúc mọi người vui vẻ!

[Tặng] VariantEnum – thư viện COM cho VBA trước khi mình rút lui

Thong thả cập nhật chi tiết sử dụng sau lên Github
 
Lần chỉnh sửa cuối:

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

Back
Top Bottom