Chuyển từ DVDAddin .xlam (VBA) sang bản .xll (2.8.3)
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, viết bằng C# / .NET 8).
Lý do migration
Bản .xlam cũ dùng VBA, lưu thiết lập bằng SaveSetting/GetSetting và kích hoạt bằng key offline. Bản hiện tại đã bỏ hẳn VBA: toàn bộ lệnh, hộp thoại và hàm UDF được viết lại bằng C#, đóng gói thành một file .xll do Excel-DNA nạp.
Bản mới có gì:
- Hai tab ribbon DVD Addin (công cụ văn phòng) và DVD Cons (xây dựng), tổng cộng 186 lệnh — xem Tham chiếu lệnh.
- 47 hàm UDF đăng ký trong nhóm DVD Functions, có IntelliSense và hộp thoại đối số
fx— xem Hàm UDF. - Hàm bất đồng bộ: DVDFx và dvdAIExplain hiện
#N/A waiting...rồi tự cập nhật, không khoá Excel trong lúc chờ mạng. - Kích hoạt bằng tài khoản (email + mật khẩu) qua máy chủ license, thay cho key offline.
- Bốn nhà cung cấp AI: Gemini / OpenAI / Groq / NVIDIA, chọn trong Tùy chọn ▸ Trợ lý AI.
- Giao diện song ngữ Việt / English, đổi bằng lệnh Ngôn ngữ: VI.
- Có lệnh Cập nhật kiểm tra phiên bản mới và Tải Tool mở thẳng liên kết tải bộ cài.
Đổi lại:
- Cần .NET 8 (bộ cài kèm sẵn phần kiểm tra và cài bổ sung).
- Chỉ chạy trên Windows — không dùng được với Excel for Mac.
- Macro VBA cũ gọi lệnh qua
DVDAddin.xlam!…sẽ không còn chạy (xem phần Workbook đã tự động hoá bằng VBA bên dưới).
Trước khi migrate
Bước 1 — Backup file Excel quan trọng
Sao lưu thư mục dự án trước khi cài. Các workbook có công thức =dvd… cũ nên được mở thử sau khi cài để kiểm tra xem hàm còn trả về giá trị hay báo #NAME?.
Bước 2 — Gỡ bản .xlam cũ
Cách 1 — Qua Excel Add-in Manager
- Mở Excel → File → Options → Add-ins.
- Manage = Excel Add-ins → bấm Go.
- Trong danh sách:
- Bỏ tick
DVDAddin.xlam(nếu có). - Bấm Remove để loại khỏi danh sách.
- Bỏ tick
Cách 2 — Xoá file thủ công
File .xlam thường nằm ở:
%APPDATA%\Microsoft\AddIns\DVDAddin.xlamhoặc trong thư mục bạn đã trỏ tới khi cài. Xoá file rồi khởi động lại Excel.
Bước 3 — Biết trước về license cũ
Bản .xlam dùng SaveSetting của VBA nên lưu tình trạng kích hoạt ở hai mục registry dưới gốc riêng của VBA:
HKCU\Software\VB and VBA Program Settings\DVDAddin\Key Type
HKCU\Software\VB and VBA Program Settings\DVDAddin\Expiration DateBản .xll vẫn copy hai mục này sang gốc mới HKCU\Software\DVD\DVDAddin\… (xem phần Thiết lập được giữ lại), nhưng không còn đọc chúng để quyết định license — hệ thống đã chuyển sang tài khoản trực tuyến (file license.dat trong %LocalAppData%\DVDAddin + JWT từ máy chủ). Vì vậy sau khi cài bạn phải đăng nhập lại bằng email + mật khẩu trong hộp thoại Bản quyền.
Nếu license cũ vẫn còn hạn, hãy liên hệ qua nhóm Zalo hỗ trợ hoặc số +84 988 909 382, kèm thông tin license cũ, để được hướng dẫn quy đổi.
Cài bản mới
Bước 1 — Tải bộ cài
Dùng lệnh Tải Tool (nếu máy còn add-in cũ chạy được), hoặc mở trực tiếp mục Releases của kho github.com/dangdvd/DVDAddin và tải DVDAddin.rar.
Giải nén bằng WinRAR hoặc 7-Zip để lấy file cài DVDAddin-Setup-<phiên bản>.exe.
Bước 2 — Đóng hết Excel rồi chạy bộ cài
Bắt buộc
Đóng toàn bộ cửa sổ Excel trước khi cài. Nếu còn một tiến trình Excel đang chạy, file .xll đang nạp sẽ bị khoá và add-in cũ vẫn nằm trong bộ nhớ — bạn sẽ thấy "đã cài bản mới nhưng lỗi vẫn còn".
Bộ cài đặt add-in vào C:\DVDAddin\ (không phải Program Files), kèm hai thư mục Template\ và Library\ chứa file mẫu và dữ liệu định mức.
→ Chi tiết: Cài đặt.
Bước 3 — Kích hoạt license
Mở Excel → tab DVD Addin → nhóm Thông tin → Bản quyền → nhập email + mật khẩu → Đăng nhập.
→ Chi tiết: Kích hoạt bản quyền.
Mapping lệnh xlam → xll
Phần lớn nút ribbon giữ nguyên tên tiếng Việt, nhưng vị trí nhóm đã được sắp xếp lại thành 2 tab. Cách nhanh nhất để tìm lại một lệnh quen thuộc:
- Nhấn Ctrl + Shift + Q (Tìm lệnh nhanh), gõ vài chữ của tên lệnh rồi Enter.
- Hoặc tra trong Tham chiếu lệnh — danh sách đầy đủ 186 lệnh xếp theo đúng tab và nhóm trên ribbon.
Lệnh mới, không có ở bản .xlam
| Lệnh | Vị trí |
|---|---|
| Trợ lý AI + Giải thích CT (Coach), Sửa lỗi công thức, Ngữ pháp, Giải đề | DVD Addin ▸ Trợ lý AI ▸ Menu AI |
| DVD Chat — trò chuyện nhóm trong Excel | DVD Addin ▸ Trợ lý AI |
| Chuyển âm thanh | DVD Addin ▸ File và In ▸ Công cụ File |
| PDF Manager, OCR file, Trích bảng, OCR Screen Clip | DVD Addin ▸ File và In ▸ PDF / OCR |
| Chụp và Ghi chú | DVD Addin ▸ Đồ họa ▸ Menu Chèn ảnh |
| Auto Click | DVD Addin ▸ Đồ họa ▸ Menu Shape |
| Tìm / Thay hàng loạt, Smart Data Cleaning | DVD Addin ▸ Văn bản và Số ▸ Xử lý văn bản |
| Kết nối Server — làm việc nhóm qua LAN / internet | DVD Cons ▸ Hệ thống kết nối |
| Bộ lệnh tiến độ PRO: EVM Report, Kiểm tra chất lượng, Baseline, 3-Week Lookahead, Xuất XML (P6/MSP), Nhập XML (P6/MSP)… | DVD Cons ▸ Tiến độ |
| Bộ lệnh QS: Thanh toán GĐ, So sánh BoQ, Sổ phát sinh, AI Báo giá XD | DVD Cons ▸ QS |
Mapping UDF xlam → xll
Tên hàm
Toàn bộ 47 hàm của bản mới đều bắt đầu bằng tiền tố dvd (riêng DVDFx viết hoa ba chữ đầu). Tên hàm Excel không phân biệt hoa/thường, nên =dvdvnd(F42), =DvdVnd(F42) và =dvdVnd(F42) cho cùng kết quả — bạn không cần chạy Find & Replace để đổi kiểu chữ.
Điều cần kiểm tra là hàm đó có còn tồn tại không. Sau khi cài, mở workbook cũ và nhấn Ctrl + F tìm #NAME?: mọi ô báo lỗi đó đang gọi một hàm không còn được đăng ký.
Đối chiếu nhanh vài hàm hay dùng
| Việc cần làm | Hàm bản mới |
|---|---|
| Đọc số tiền VND thành chữ | dvdVnd |
| Đọc số tiền USD thành chữ | dvdUsd |
| Bỏ dấu tiếng Việt | dvdUnDiacriticsVi |
| Chuyển VNI / Telex sang Unicode | dvdUniConvert |
| Nối chuỗi từ một vùng | dvdTextJoin, dvdConcatIF, dvdJoinIF |
| Cộng / đếm theo màu nền ô | dvdSumIfColor, dvdCountIfColor |
| Cộng bỏ qua dòng ẩn / dòng lọc | dvdSumVisible |
| Dò tìm trên mọi sheet của workbook | dvdLookupAllSheets |
| Trả về tất cả giá trị khớp | dvdMVLookup, dvdMCLookup |
| Đổi âm lịch ⇄ dương lịch | dvdSolarToLunar, dvdLunarToSolar |
| Dịch văn bản trong ô | dvdTranslate |
Danh mục đầy đủ kèm tên tham số: Hàm UDF.
Dấu ngăn cách tham số
Bản mới đăng ký hàm qua Excel-DNA, nên dấu ngăn cách tham số theo Regional format của Windows giống hệt hàm có sẵn: định dạng Việt Nam dùng ;, English (US) dùng ,. Nếu bạn copy công thức từ tài liệu này sang máy đặt định dạng khác, hãy đổi dấu ngăn cách cho khớp.
Workbook đã tự động hoá bằng VBA
Bản .xlam cho phép gọi lệnh DVDAddin từ macro VBA theo dạng:
Sub MyMacro()
Application.Run "DVDAddin.xlam!<TenMacroCu>" ' Không còn chạy
End SubCách gọi này không còn hoạt động vì file .xlam không còn tồn tại — Excel sẽ báo không tìm thấy macro.
Cách thay thế
Option A — Gọi macro do bản .xll đăng ký
Bản .xll đăng ký một số macro có tên cố định để phục vụ phím tắt; VBA gọi được các tên này bằng Application.Run (không kèm tiền tố tên file).
Macro gọi thẳng một nút ribbon:
| Tên macro | Tương đương lệnh |
|---|---|
DvdShortcut_FormulaViewer | Xem công thức |
DvdShortcut_CopyPasteVisible | Copy/Paste hiện |
DvdShortcut_MultiRangeCopy | Copy/Paste hiện — cùng lệnh, khác phím |
DvdShortcut_SmartCase | Hoa theo ngữ cảnh (AI) |
DvdShortcut_AutoFitMerge | AutoFit gộp ô |
DvdShortcut_Navigation | Điều hướng |
DvdShortcut_MoveShape | Chỉnh ảnh |
DvdShortcut_RegularItalic | In nghiêng |
DvdShortcut_InsertCopy | Chèn và Sao chép |
DvdShortcut_Translate | Dịch ngôn ngữ |
DvdShortcut_ExplainFormula | Giải thích CT (Coach) |
DvdShortcut_MergeWord | Trộn sang Word |
DvdShortcut_OcrScreenshot | OCR Screen Clip |
DVDAddin_MergeKeepDataShortcut | Gộp giữ data |
DVDAddin_QuickInputShortcut | Nhập nhanh |
DVDAddin_SheetToPdfShortcut | Sheet → PDF |
DVDAddin_ReverseTextShortcut | Đảo ngược — hỏi ký tự ngăn cách rồi đảo |
ShowQuickActions | Tìm lệnh nhanh |
ShowFormulaViewer | Cửa sổ Truy vết công thức |
ShowLiveDependents | Ô phụ thuộc |
JumpToAnyLookupSource | Truy vết Lookup |
OpenPdfManager | PDF Manager |
ReadPdf | Đọc PDF |
Macro không có nút ribbon (chỉ tồn tại dưới dạng phím tắt / macro):
| Tên macro | Việc nó làm |
|---|---|
DvdShortcut_FormatPainter | Gọi Format Painter của Excel |
DvdShortcut_AiInline | Lấy ô hiện làm câu hỏi, ghi câu trả lời AI xuống ô ngay dưới |
DvdShortcut_CycleHAlign | Xoay canh lề ngang: trái → giữa → phải |
DvdShortcut_CycleVAlign | Xoay canh lề dọc: trên → giữa → dưới |
DvdShortcut_HighlightYellow | Bật/tắt nền vàng cho vùng chọn |
DvdShortcut_CycleCase | Xoay kiểu chữ: HOA → Hoa Đầu Mỗi Từ → Hoa đầu câu → thường |
DvdShortcut_TranslateVI / DvdShortcut_TranslateEN | Dịch nhanh vùng chọn bằng Google Translate, ghi đè tại chỗ |
DvdShortcut_ReverseAfterDelim | Đảo hai vế quanh dấu phân cách đầu tiên tìm thấy (-, –, —, , , /, khoảng trắng) |
DvdShortcut_Custom1 … DvdShortcut_Custom10 | 10 slot người dùng tự gán trong Tùy chọn ▸ Phím tắt |
Sub MyMacro()
Application.Run "DvdShortcut_AutoFitMerge"
End SubCác lệnh còn lại chưa có tên macro công khai — dùng nút ribbon hoặc phím tắt. Nếu cần chạy một lệnh bất kỳ từ phím, hãy gán nó vào một slot tùy chỉnh rồi gọi DvdShortcut_CustomN tương ứng.
Option B — Chuyển logic sang công thức
Nhiều việc mà macro VBA cũ làm bằng vòng lặp giờ đã có hàm UDF tương ứng (nối chuỗi có điều kiện, cộng theo màu, dò nhiều kết quả…). Đặt công thức vào ô thường gọn và dễ kiểm tra hơn macro.
Option C — Auto Click
Với những chuỗi thao tác thuần giao diện, Auto Click ghi lại toạ độ từng cú click vào một bảng trên sheet (STT / Timestamp / X / Y / Wait), cho sửa tay rồi phát lại theo số vòng lặp. Đây là giải pháp cho phần mềm ngoài Excel, không phải để gọi lệnh DVDAddin.
Option D — Liên hệ hỗ trợ
Nếu bạn có quy trình VBA phức tạp gắn chặt với add-in cũ, liên hệ nhóm Zalo hỗ trợ hoặc +84 988 909 382 để được tư vấn.
Thiết lập được giữ lại
Phần tự động chuyển
Bản .xll có routine chuyển thiết lập chạy một lần ngay lần đầu Excel mở sau khi cài. Nó copy giá trị từ hai gốc registry cũ sang gốc mới:
| Gốc cũ | Thời kỳ |
|---|---|
HKCU\Software\VB and VBA Program Settings\DVDAddin\… | Bản .xlam (VBA SaveSetting) |
HKCU\Software\DVDAddin\… | Bản C# đời đầu |
→ tất cả được ghi sang gốc hiện tại HKCU\Software\DVD\DVDAddin\….
Các mục được chuyển: Preferences, API Keys, Model, Temperature, Service, SyncConfig, GanttSettings, ParamsGemini, Key Type, Expiration Date.
Ba điều đáng biết về routine này:
- Chạy đúng một lần cho mỗi tài khoản Windows — sau đó nó ghi một dấu mốc và bỏ qua ở các lần mở sau.
- Không ghi đè giá trị đã có sẵn ở gốc mới.
- Không xoá khoá cũ, nên nếu bạn quay lại bản cũ thì thiết lập của nó vẫn còn nguyên.
Nhờ vậy, API key Gemini/OpenAI/Groq, model đã chọn, ngôn ngữ dịch mặc định và cài đặt Gantt thường có sẵn ngay lần chạy đầu tiên.
Phần phải làm lại
- License — phải đăng nhập lại bằng email + mật khẩu. Hai giá trị
Key Type/Expiration Datetuy được copy sang nhưng không còn được dùng để xét bản quyền. - Kết nối Server — đăng nhập lại phiên làm việc nhóm.
- Ngôn ngữ giao diện — lưu ở
%APPDATA%\DVDAddin\lang.txt, đổi bằng lệnh Ngôn ngữ: VI.
Sau khi migrate — kiểm tra nhanh
- Mở Excel, xác nhận có đủ hai tab ribbon: DVD Addin và DVD Cons.
- Vào Thông tin ▸ Tác giả để đối chiếu số phiên bản đang chạy.
- Mở một workbook cũ, tìm
#NAME?để phát hiện hàm không còn tồn tại. - Mở Tùy chọn ▸ Trợ lý AI kiểm tra API key có được chuyển sang không.
- Mở Tùy chọn ▸ Phím tắt xem lại 21 phím mặc định, gỡ phím nào trùng thói quen của bạn.
Liên quan
- Cài đặt — chi tiết bộ cài.
- Bản quyền — kích hoạt license mới.
- Cheatsheet — phím tắt, đường dẫn, cú pháp hàm.
- Tham chiếu lệnh — 186 lệnh ribbon.
- Hàm UDF — 47 hàm.
- FAQ — câu hỏi thường gặp.
- Troubleshooting — chi tiết lỗi.
Nếu gặp khó khăn khi migration → nhóm Zalo hỗ trợ hoặc +84 988 909 382.