Skip to content

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ộ: DVDFxdvdAIExplain 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

  1. Mở Excel → File → Options → Add-ins.
  2. Manage = Excel Add-ins → bấm Go.
  3. Trong danh sách:
    • Bỏ tick DVDAddin.xlam (nếu có).
    • Bấm Remove để loại khỏi danh sách.

Cách 2 — Xoá file thủ công

File .xlam thường nằm ở:

%APPDATA%\Microsoft\AddIns\DVDAddin.xlam

hoặ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 Date

Bả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\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 tinBả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ệnhVị 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 ExcelDVD Addin ▸ Trợ lý AI
Chuyển âm thanhDVD Addin ▸ File và In ▸ Công cụ File
PDF Manager, OCR file, Trích bảng, OCR Screen ClipDVD Addin ▸ File và In ▸ PDF / OCR
Chụp và Ghi chúDVD Addin ▸ Đồ họa ▸ Menu Chèn ảnh
Auto ClickDVD Addin ▸ Đồ họa ▸ Menu Shape
Tìm / Thay hàng loạt, Smart Data CleaningDVD 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 / internetDVD 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á XDDVD 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)=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àmHà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ệtdvdUnDiacriticsVi
Chuyển VNI / Telex sang UnicodedvdUniConvert
Nối chuỗi từ một vùngdvdTextJoin, dvdConcatIF, dvdJoinIF
Cộng / đếm theo màu nền ôdvdSumIfColor, dvdCountIfColor
Cộng bỏ qua dòng ẩn / dòng lọcdvdSumVisible
Dò tìm trên mọi sheet của workbookdvdLookupAllSheets
Trả về tất cả giá trị khớpdvdMVLookup, dvdMCLookup
Đổi âm lịch ⇄ dương lịchdvdSolarToLunar, 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:

vb
Sub MyMacro()
    Application.Run "DVDAddin.xlam!<TenMacroCu>"   ' Không còn chạy
End Sub

Cá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 macroTương đương lệnh
DvdShortcut_FormulaViewerXem công thức
DvdShortcut_CopyPasteVisibleCopy/Paste hiện
DvdShortcut_MultiRangeCopyCopy/Paste hiện — cùng lệnh, khác phím
DvdShortcut_SmartCaseHoa theo ngữ cảnh (AI)
DvdShortcut_AutoFitMergeAutoFit gộp ô
DvdShortcut_NavigationĐiều hướng
DvdShortcut_MoveShapeChỉnh ảnh
DvdShortcut_RegularItalicIn nghiêng
DvdShortcut_InsertCopyChèn và Sao chép
DvdShortcut_TranslateDịch ngôn ngữ
DvdShortcut_ExplainFormulaGiải thích CT (Coach)
DvdShortcut_MergeWordTrộn sang Word
DvdShortcut_OcrScreenshotOCR Screen Clip
DVDAddin_MergeKeepDataShortcutGộp giữ data
DVDAddin_QuickInputShortcutNhập nhanh
DVDAddin_SheetToPdfShortcutSheet → PDF
DVDAddin_ReverseTextShortcutĐảo ngược — hỏi ký tự ngăn cách rồi đảo
ShowQuickActionsTìm lệnh nhanh
ShowFormulaViewerCửa sổ Truy vết công thức
ShowLiveDependentsÔ phụ thuộc
JumpToAnyLookupSourceTruy vết Lookup
OpenPdfManagerPDF 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 macroViệc nó làm
DvdShortcut_FormatPainterGọi Format Painter của Excel
DvdShortcut_AiInlineLấy ô hiện làm câu hỏi, ghi câu trả lời AI xuống ô ngay dưới
DvdShortcut_CycleHAlignXoay canh lề ngang: trái → giữa → phải
DvdShortcut_CycleVAlignXoay canh lề dọc: trên → giữa → dưới
DvdShortcut_HighlightYellowBật/tắt nền vàng cho vùng chọn
DvdShortcut_CycleCaseXoay kiểu chữ: HOA → Hoa Đầu Mỗi Từ → Hoa đầu câu → thường
DvdShortcut_TranslateVI / DvdShortcut_TranslateENDị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_Custom1DvdShortcut_Custom1010 slot người dùng tự gán trong Tùy chọn ▸ Phím tắt
vb
Sub MyMacro()
    Application.Run "DvdShortcut_AutoFitMerge"
End Sub

Cá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 .xllroutine 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 Date tuy đượ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

  1. Mở Excel, xác nhận có đủ hai tab ribbon: DVD AddinDVD Cons.
  2. Vào Thông tin ▸ Tác giả để đối chiếu số phiên bản đang chạy.
  3. Mở một workbook cũ, tìm #NAME? để phát hiện hàm không còn tồn tại.
  4. Mở Tùy chọn ▸ Trợ lý AI kiểm tra API key có được chuyển sang không.
  5. 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

Nếu gặp khó khăn khi migration → nhóm Zalo hỗ trợ hoặc +84 988 909 382.

Released under DVDAddin License.