Skip to content

Chuyển từ DVDAddin xlam → 2.7.7 (xll)

Hướng dẫn migration từ phiên bản cũ (Excel VBA .xlam) sang phiên bản hiện tại (Excel-DNA .xll build C#).

Lý do migration

Phiên bản cũ .xlam (VBA) tồn tại từ 2018-2024 — hết support khi DVDAddin chuyển sang C#/.NET 8 từ 2025+.

Ưu điểm bản mới 2.7.7:

  • ✓ Nhanh hơn 5-10x cho các lệnh nặng (Batch Print, Merge Word, OCR).
  • ✓ Hỗ trợ Async UDF (không lock Excel khi gọi network).
  • ✓ License + heartbeat online (chống crack hơn).
  • ✓ AI integration (Gemini / ChatGPT / Groq / Cerebras).
  • ✓ Code obfuscated → khó reverse-engineer.
  • ✓ Auto-update qua check-update.
  • ✓ Bilingual UI (VI / EN).

Nhược điểm:

  • ✗ Cần .NET 8 (auto-cài).
  • ✗ Macro VBA workbook cũ KHÔNG còn gọi được lệnh DVDAddin (xem migration guide bên dưới).

Trước khi migrate

Bước 1 — Backup file Excel quan trọng

Tất cả workbook đã dùng UDF =dvdXXX(...) cũ → có thể cần update tên hàm.

Backup folder dự án quan trọng trước.

Bước 2 — Gỡ bản .xlam cũ

Cách 1 — Qua Excel Add-in Manager

  1. Mở Excel → File → Options → Add-ins.
  2. Manage = Excel Add-ins → click Go.
  3. Trong list:
    • Bỏ tick DVDAddin.xlam (nếu có).
    • Click Remove để loại khỏi list.

Cách 2 — Xóa file thủ công

File .xlam thường ở:

%APPDATA%\Microsoft\AddIns\DVDAddin.xlam

Hoặc:

C:\Users\<user>\Documents\DVDAddin.xlam

Xóa file.

Bước 3 — Backup license cũ (nếu có)

Bản xlam cũ dùng registry key:

HKCU\Software\DVD\DVDAddin\Key Type
HKCU\Software\DVD\DVDAddin\Expiration Date

License key này KHÔNG migrate sang bản mới (system khác hoàn toàn — JWT online thay vì offline key). Bạn cần kích hoạt lại bằng email + password trên bản mới.

Nếu vẫn còn time license cũ → liên hệ [email protected] để được migrate credit sang license mới (kèm email license cũ).

Cài bản 2.7.7

Bước 1 — Tải setup.exe

https://dvdpm.net/dvdaddin/download

Bước 2 — Chạy setup.exe

→ Xem chi tiết: Cài đặt.

Auto-detect Excel bitness → tải .NET 8 nếu thiếu.

Bước 3 — Kích hoạt license

→ Xem Kích hoạt bản quyền.

Mapping lệnh xlam → xll

Phần lớn ribbon button giữ nguyên tên, KEY tip có thể đổi.

Lệnh đổi tên

Bản xlam cũBản xll mới
dvdUpperDvdUpper (giữ nguyên nhưng case-sensitive hơn)
dvdSumDvdSum
dvdDateToTextDvdNumToText (đổi tên + flexible hơn)
dvdLichAmDvdToLunar

→ Nếu workbook có =dvdUpper(A1) cũ → Excel sẽ báo #NAME? sau migration. Find & Replace dvdUpperDvdUpper trong file.

Lệnh bị bỏ

Bản xlamLý do bỏReplacement
dvdEmailSend (đơn lẻ)Thay bằng dialog đầy đủSend Email
Built-in calculator dialogHiếm dùngExcel = built-in
dvdSync (sync với server cũ)Hệ thống server mớiConnect Server

Lệnh mới (chỉ có trong xll)

Mapping UDF xlam → xll

Đổi tên hàm phổ biến

Bản xlam (VBA)Bản xll (C#)Ghi chú
dvdSumIfColorDvdSumIfColor(chưa implement — workaround: dùng conditional format + SUMIF)
dvdNetworkdaysDvdWorkdaysAPI tương đương
dvdReadNumberDvdNumToTextAPI tương đương
dvdRemoveAccentDvdRemoveDiacritics
dvdJoinRangeDvdJoin

Sử dụng Find & Replace để update

Bulk fix workbook:

  1. Ctrl+H → Find: =dvd → Replace: =Dvd → Replace All.
  2. Manual check các formula =dvdReadNumber=DvdNumToText (đổi name).

Workbook đã tự động hóa bằng VBA

Bản xlam cũ cho phép call lệnh DVDAddin từ VBA macro:

vba
Sub MyMacro()
    Application.Run "DVDAddin.xlam!dvdAddNumbers"  ' Lệnh cũ
End Sub

Bản xll KHÔNG cho phép call như vậy (architecture khác).

Workaround

Option A — Refactor macro

Chuyển logic VBA → C# UDF rồi gọi qua công thức cell.

Option B — UI Automation

Dùng Auto Click record sequence:

  • Record click ribbon button → save sequence.
  • VBA dùng SendKeys để trigger Auto Click → execute sequence.

Option C — Migrate sang COM Add-in (advanced)

Liên hệ [email protected] — nếu bạn có VBA workflow phức tạp, mình có thể hỗ trợ custom integration qua COM.

Settings preservation

Phần được giữ tự động

Setup.exe KHÔNG xóa registry settings cũ. Sau khi cài 2.7.7:

  • API keys cũ (Gemini, ChatGPT, ...) — vẫn ở HKCU\Software\DVD\DVDAddin\API Keys → bản mới đọc lại được.
  • Translate language default — vẫn ở registry.
  • Preferences khác — vẫn còn.

Phần cần setup lại

  • License (bản xlam dùng offline key, bản xll dùng JWT online — khác hệ thống). Phải đăng nhập lại email + password.
  • Server credentials (Connect Server) — phải đăng nhập lại.
  • Workspace data đã download — phải re-download.

Performance comparison

Test trên workbook 5000 hàng:

LệnhBản xlamBản xllTốc độ
Translate 100 cells qua Google~30s~8s3.7x
Batch Print 50 PDF~3 phút~45s4x
Cắt thép tối ưu (First-Fit)~5s~0.8s6x
Merge Word 100 file~2 phút~1 phút2x
Đánh số đa cấp 5000 hàng~15s~2s7.5x

Lý do bản xll nhanh hơn:

  • Compiled C# vs interpreted VBA.
  • Async UDF không lock Excel UI.
  • Optimized COM calls (batch hơn).
  • Multi-thread cho các operations song song được.

Liên quan

Nếu gặp khó khăn khi migration → liên hệ [email protected].

Released under DVDAddin License.