Skip to content

Tùy chỉnh sâu (Customization Deep Dive)

Beyond hộp thoại Tùy chọn — tùy chỉnh DVDAddin qua registry, file cấu hình và thiết lập đi kèm workbook.

Registry tree đầy đủ

Mọi thiết lập nằm dưới một gốc duy nhất:

HKCU\Software\DVD\DVDAddin\
├── Preferences\      ← toàn bộ thiết lập của hộp thoại Tùy chọn
├── API Keys\         ← ChatGPTAPI, GeminiAPI, GroqAPI, NvidiaAPI
├── Model\            ← ModelChatGPT, ModelGemini, ModelGroq, ModelNvidia
│                       + CustomModels<Provider> / HiddenModels<Provider>
├── Temperature\      ← ParamsChatGPT, ParamsGemini
├── Service\          ← AIAssistantService, ChatGPTService, OcrService, TranscribeService
├── Shortcuts\        ← phím tắt người dùng đặt lại (xem mục Phím tắt)
├── GanttSettings\    ← mặc định của biểu đồ tiến độ
├── SyncConfig\       ← thiết lập phiên làm việc nhóm
├── Settings\         ← ThemeMode (0 = Sáng, 1 = Tối, 2 = Theo hệ thống)
├── Chat\             ← Notify\, Gemini\, Drafts\ của DVD Chat
├── TextTools\        ← BulkReplaceRecipes\ — công thức Tìm & Thay thế hàng loạt đã lưu
└── Licensing\        ← LicenseBlob, LastLicensedAtUtc, MaxSeenUtc, TrialStartUtc

Ngoài ra còn ba khoá cũ ParamsGemini, Key TypeExpiration Date giữ lại cho tương thích ngược, cùng giá trị __MigratedFromLegacy_v1 ngay dưới gốc đánh dấu đã chạy xong bước di trú.

Di trú từ bản cũ

Bản VBA ngày xưa ghi vào HKCU\Software\VB and VBA Program Settings\DVDAddin\, bản C# đầu tiên ghi vào HKCU\Software\DVDAddin\. Lần đầu Excel khởi động sau khi nâng cấp, add-in chép giá trị từ hai gốc cũ sang gốc mới rồi đánh dấu đã chuyển. Khoá cũ được giữ nguyên tại chỗ (không xoá) nên hạ cấp về bản trước vẫn tìm thấy thiết lập.

Một số giá trị hay dùng dưới Preferences

Giá trịÝ nghĩa
LanguageVI | EN — ngôn ngữ giao diện (dự phòng cho lang.txt)
OpTranslateGoogle | Gemini | ChatGPT — dịch vụ dịch mặc định
TxtAddSpaceKhoảng đệm (pt) cộng thêm khi canh chiều cao ô gộp
JoinDelimiter / JoinDelimiterCustomSpace | Comma | Semicolon | Newline | Custom, và chuỗi tự đặt
DeleteSkipHiddenTrue/False — bỏ qua dòng ẩn khi xoá
InsertCountSố dòng chèn mặc định
RoundFunction / RoundDecimalsROUND | ROUNDUP | ROUNDDOWN, và số chữ số
LockStyleBoth | Row | Column — kiểu khoá tham chiếu $
FormulaSkipHidden, FormulaErrorCheckingTrue/False
PictureFitCell | Original | Width | Contain
CommentWidthBề rộng comment ảnh (px)
PictureClickHandlerTrue/False — bấm vào ảnh trong ô thì phóng to
EnlargeRatioTỉ lệ phóng to ảnh
AutoClickIntervalKhoảng cách giữa hai cú click của Auto Click (ms)
CaptureIncludeExcelTrue/False — chụp màn hình có lấy cả khung Excel
ModeHighlightROW | COLUMN | ALL — kiểu nổi bật hàng/cột
BackColor, Opacity, Fading, IsFadingMàu và độ mờ của dải nổi bật
A4, A3, Portrait, Landscape, Top, Bottom, Left, Right, Header, FooterKhổ giấy, hướng giấy và lề mặc định khi in
FileTreeHyperlinksTrue/False — cây thư mục có tạo hyperlink

Gần như tất cả đều đặt được từ giao diện — registry chỉ cần khi bạn muốn triển khai hàng loạt hoặc sửa nhanh mà không mở Excel.

Tùy chỉnh qua registry editor

Mở regedit

Win + Rregedit → Enter.

Đổi model AI thủ công

Mặc định Gemini dùng gemini-2.5-flash-lite. Đổi sang model khác:

  1. Vào HKCU\Software\DVD\DVDAddin\Model.
  2. Right-click → Modify → ModelGemini = tên model bạn muốn.
  3. Khởi động lại Excel.

Mặc định của các nhà cung cấp còn lại: ModelChatGPT = gpt-4o-mini, ModelGroq = openai/gpt-oss-120b, ModelNvidia = meta/llama-3.3-70b-instruct.

Set API key qua command line

Script setup cho cả tổ:

powershell
$key = 'Software\DVD\DVDAddin\API Keys'
New-Item -Path "HKCU:$key" -Force | Out-Null
Set-ItemProperty -Path "HKCU:$key" -Name 'GeminiAPI'  -Value 'AIzaSy...your-key...'
Set-ItemProperty -Path "HKCU:$key" -Name 'ChatGPTAPI' -Value 'sk-...your-key...'
Set-ItemProperty -Path "HKCU:$key" -Name 'GroqAPI'    -Value 'gsk_...your-key...'
Set-ItemProperty -Path "HKCU:$key" -Name 'NvidiaAPI'  -Value 'nvapi-...your-key...'

→ Triển khai cho 10 máy không phải gõ tay từng máy. Key nằm ở HKCU nên script phải chạy dưới tài khoản của chính người dùng đó.

Reset toàn bộ Preferences

powershell
Remove-Item -Path 'HKCU:Software\DVD\DVDAddin\Preferences' -Recurse -Force

→ Add-in quay về giá trị mặc định cho mọi thiết lập. API key và license vẫn giữ nguyên.

Cách "hiền" hơn: mở Tùy chọn và bấm nút đặt lại ngay trong hộp thoại — nó khôi phục mặc định cho cả thiết lập lẫn danh sách model, không đụng tới registry key khác.

File config

Đường dẫnNội dung
%LocalAppData%\DVDAddin\license.datToken license — JSON kèm chữ ký HMAC-SHA256
%LocalAppData%\DVDAddin\fx_cache.jsonCache tỷ giá của DVDFx, TTL 1 giờ mỗi cặp tiền/ngày
%APPDATA%\DVDAddin\lang.txtvi hoặc en — ngôn ngữ giao diện
%LocalAppData%\DVDAddin\diary.logLog của lệnh Tạo Nhật ký
%TEMP%\DVDAddin\Log chẩn đoán: case.log (đổi chữ hoa/thường), ghost-cmd.log, ghost-kill.log
%TEMP%\dvdaddin-chat.logLog của DVD Chat
%TEMP%\DVDAddin_Sync_Log.txtLog phiên làm việc nhóm

license.dat

Định dạng: {json}|{hmac-hex}.

KHÔNG sửa tay (chữ ký sẽ sai). Backup file thì hoàn toàn được — xem Best Practices → Backup license.

lang.txt

Đây là nguồn chính cho ngôn ngữ giao diện; chỉ khi file không tồn tại add-in mới đọc tới Preferences\Language trong registry. Nội dung đúng một từ: vi hoặc en. Sửa tay được, nhưng cách thường dùng là bấm Ngôn ngữ: VI trên ribbon.

fx_cache.json

Xoá file này khi Excel đã đóng nếu muốn ép DVDFx lấy tỷ giá mới ngay lập tức thay vì đợi hết 1 giờ.

Thiết lập đi theo workbook

DVDAddin không có biến môi trường nào để cấu hình tính năng (xem mục cuối trang). Bù lại, có ba thiết lập được lưu ngay trong file Excel, nên chúng đi cùng file khi bạn gửi cho người khác:

Cấu hình biểu đồ tiến độ

Cài đặt ghi thiết lập Gantt vào hai nơi cùng lúc:

  • Registry HKCU\Software\DVD\DVDAddin\GanttSettings — mặc định chung của máy.
  • Một CustomXMLPart bên trong chính workbook — cấu hình riêng của dự án.

Khi vẽ lại, bản trong workbook thắng bản trong registry. Nhờ vậy mỗi dự án giữ được kiểu hiển thị riêng (định dạng ngày, cách đánh số tuần, tô cuối tuần, mũi tên phụ thuộc, màu theo Level…) mà không phải chỉnh lại thiết lập máy mỗi lần đổi file.

Cấu hình In hàng loạt

In hàng loạt lưu toàn bộ thiết lập vào sheet ẩn DVDAddinSetting trong workbook. Gửi file cho người khác là họ có luôn cấu hình — không cần khai lại driver cell, sheet-print cell, filename cell.

Quy tắc nguồn dữ liệu của Nhập nhanh

Cài đặt nguồn dữ liệu… cũng ghi các quy tắc Vùng đích → Vùng nguồn vào một CustomXMLPart bên trong workbook, không phải vào registry. Bảng danh mục và quy tắc gợi ý đi theo file: người nhận mở lên là gõ được ngay.

(Bản trước 05/2026 từng lưu bộ quy tắc này dưới Preferences\QuickInputRules; giá trị đó nay là rác và bị add-in tự xoá ở lần đọc đầu tiên.)

Custom AI models

Add-in làm việc với 4 nhà cung cấp: OpenAI (ChatGPT), Gemini, Groq, NVIDIA.

Thêm model không có trong danh sách

Ngay trong Tùy chọn → mục Trợ lý AI:

  1. Ô chọn model của mỗi nhà cung cấp cho gõ trực tiếp — nhập tên model mới.
  2. Bấm bên cạnh để thêm vào danh sách; bấm để ẩn một model bạn không dùng.
  3. Thay đổi có hiệu lực ngay, không phụ thuộc nút Lưu.

Danh sách này lưu dưới HKCU\Software\DVD\DVDAddin\Model, ở hai giá trị CustomModels<Provider> (model bạn thêm) và HiddenModels<Provider> (model mặc định bạn ẩn đi), mỗi model một dòng. <Provider> là một trong ChatGPT, Gemini, Groq, Nvidia.

Chọn nhà cung cấp riêng cho từng nhóm tính năng

Không phải tất cả lệnh AI đều dùng chung một nhà cung cấp. Bốn giá trị dưới Service điều khiển bốn nhóm:

Giá trịDùng choLựa chọn
AIAssistantServiceTrợ lý AI, các lệnh AI trong bảng tínhGemini | OpenAI | Groq | NVIDIA
ChatGPTServiceDịch bằng AIOpenAI | Groq | NVIDIA
OcrServiceOCR file / OCR màn hình / Trích bảngGemini | OpenAI | Groq | NVIDIA
TranscribeServiceChuyển âm thanh sang chữGemini | OpenAI | Groq

→ Có thể để Trợ lý AI chạy Gemini (rẻ) trong khi OCR chạy OpenAI (đọc bảng tốt hơn).

Giới hạn

Không có ô nhập base URL riêng, nên chỉ dùng được model của bốn nhà cung cấp trên — không trỏ được vào endpoint tự dựng hay Ollama chạy nội bộ.

Custom Translate prompt

Khi dịch bằng Gemini hoặc ChatGPT, add-in không gửi câu lệnh chung chung mà gửi một prompt được viết riêng cho ngành xây dựng: đóng vai chuyên gia kết cấu / M&E / QS, kèm danh sách thuật ngữ bắt buộc (thép chờ → starter bar chứ không phải dowel, bê tông lót → lean concrete, mạch ngừng → construction joint, cọc ép → jacked-in pile, bản vẽ thi công → shop drawing, biện pháp thi công → method statement, tiên lượng → BOQ…).

Đây là lý do bản dịch hồ sơ xây dựng sát nghĩa hơn hẳn máy dịch thường.

Không tuỳ chỉnh được prompt này từ giao diện. Nếu bạn dịch tài liệu ngoài ngành xây dựng (y tế, IT, luật) và thấy máy đẩy từ về phía thuật ngữ công trình, hãy chọn dịch vụ Google trong Dịch ngôn ngữ — đường này là dịch máy thuần, không đi qua prompt chuyên ngành.

Phím tắt

Trái với đa số add-in Excel, DVDAddin cho đổi phím tắt ngay trong giao diện: Tùy chọn → mục Phím tắt. Bảng liệt kê từng lệnh và phím đang gán; bấm vào ô phím rồi gõ tổ hợp mới. Xoá trắng ô = bỏ hẳn phím tắt của lệnh đó.

21 phím tắt mặc định

LệnhPhím mặc định
Xem công thứcF3
Format PainterF8
Copy/Paste hiệnF6
AI Inline AnswerShift + F1
Xoay căn lề ngangCtrl + J
Xoay căn lề dọcCtrl + M
Tô nền vàngCtrl + Shift + A
Xoay kiểu chữ hoa/thườngCtrl + Shift + C
Hoa theo ngữ cảnh (AI)Ctrl + Shift + S
Chỉnh ảnhCtrl + Shift + D
Dịch sang Tiếng ViệtCtrl + Shift + V
Dịch sang Tiếng AnhCtrl + Shift + E
AutoFit gộp ôCtrl + Shift + M
Gộp giữ dataCtrl + Shift + Z
In nghiêngCtrl + Shift + I
Đảo ngược sau ký tự ngăn cáchCtrl + Shift + R
Điều hướngCtrl + Shift + W
Tìm lệnh nhanhCtrl + Shift + Q
Copy/Paste bỏ qua dòng ẩnAlt + X
Chèn và Sao chépAlt + C
OCR Screen ClipAlt + S

Các dòng không có liên kết là lệnh chỉ chạy bằng phím tắt, không có nút riêng trên ribbon.

Thêm phím tắt cho lệnh khác

Ngay dưới bảng có phần chọn lệnh để thêm dòng mới. Add-in dành sẵn 10 chỗ cho lệnh người dùng tự gán, nên bạn có thể đưa tối đa 10 lệnh ribbon nữa vào phím tắt của mình.

Lưu ở đâu

HKCU\Software\DVD\DVDAddin\Shortcuts — tên giá trị là mã lệnh, dữ liệu là tổ hợp phím theo cú pháp OnKey của Excel (^ = Ctrl, + = Shift, % = Alt, phím chức năng trong ngoặc nhọn: {F3}).

Quy ước:

  • Không có giá trị = đang dùng phím mặc định.
  • Giá trị None = người dùng đã xoá phím tắt của lệnh đó.
  • Giá trị khác = phím do người dùng đặt.

→ Xoá cả khoá Shortcuts là mọi phím tắt trở về mặc định.

Những gì KHÔNG có (đừng mất công tìm)

Vài thứ hay bị hỏi nhưng add-in không hề có, nên cũng không có gì để tắt:

  • Không có telemetry. Add-in không gửi thống kê sử dụng ẩn danh, không có công tắc opt-in/opt-out.
  • Không có tự động kiểm tra bản mới lúc khởi động. Việc kiểm tra chỉ chạy khi bạn bấm Cập nhật — nên Excel không tốn thêm lượt gọi mạng nào khi mở.
  • Không có biến môi trường để bật/tắt tính năng. Add-in chỉ đọc đúng một biến môi trường, DVDADDIN_ALLOW_DEBUG, và nó chỉ dùng để tắt cơ chế chống gỡ rối khi lập trình viên chạy bản debug — không chỉnh được hành vi nào của người dùng.

Còn thứ không tắt được: nhịp kiểm tra license chạy nền theo chu kỳ 30 phút; quá khoảng 20 giờ không liên lạc được máy chủ thì add-in chuyển sang chế độ ngoại tuyến hạn chế. Đây là cơ chế chống dùng chui, không có tuỳ chọn vô hiệu hoá.

Ngược lại, những công tắc thật sự có để tắt tính năng bạn không dùng đều nằm trên ribbon:

Triển khai cho nhiều máy

Bộ cài là một file DVDAddin-Setup-<phiên bản>.exe dựng bằng Inno Setup — không có gói .msi, nên không dùng được kiểu "Software installation" của Group Policy (kiểu đó chỉ nhận MSI). Ba cách còn lại đều chạy tốt.

Bộ cài làm những gì

  • Yêu cầu quyền admin.
  • Cài vào C:\DVDAddin (kèm thư mục con Template\Library\).
  • Chép cả hai file .xll vào máy (DVDAddin-AddIn-packed.xll cho Excel 32-bit, DVDAddin-AddIn64-packed.xll cho Excel 64-bit), tự phát hiện bitness của Excel rồi chỉ đăng ký đúng một file.
  • Đăng ký theo từng người dùng: quét các slot OPEN, OPEN1OPEN50 trong HKCU\Software\Microsoft\Office\<phiên bản>\Excel\Options, tái sử dụng slot cũ của DVDAddin nếu có, còn không thì lấy slot trống đầu tiên và ghi OPEN[N] = /R "C:\DVDAddin\DVDAddin-AddIn64-packed.xll". Đầy cả 51 slot thì bộ cài báo lỗi và yêu cầu gỡ bớt add-in khác.
  • Cố gắng đóng Excel một cách êm thấm trước khi ghi đè .xll (file đang bị Excel khoá).

Vì việc đăng ký nằm ở HKCU, cài bằng tài khoản admin của IT rồi giao máy cho người khác dùng thì tab DVD Addin sẽ không xuất hiện với tài khoản đó — người dùng phải chạy lại bộ cài dưới tài khoản của mình, hoặc bạn ghi khoá OPEN[N] bằng script logon.

Option A — Script logon / startup

powershell
$installer = '\\share\DVDAddin\DVDAddin-Setup-2.8.3.exe'
Start-Process $installer -ArgumentList '/VERYSILENT','/SUPPRESSMSGBOXES','/NORESTART' -Wait

Tham số Inno Setup hay dùng: /VERYSILENT (không hiện gì), /SILENT (chỉ hiện thanh tiến trình), /SUPPRESSMSGBOXES, /NORESTART, /DIR="C:\DVDAddin", /LOG="C:\Temp\dvdaddin-install.log".

Option B — SCCM / Intune

Đóng gói file .exe thành ứng dụng Win32:

  • Install: DVDAddin-Setup-2.8.3.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
  • Uninstall: "C:\DVDAddin\unins000.exe" /VERYSILENT
  • Detection rule: sự tồn tại của C:\DVDAddin\DVDAddin-AddIn64-packed.xll.

Option C — Cài tay + script cấu hình

Cài từng máy, rồi đẩy API key và thiết lập chung bằng script PowerShell ghi HKCU (xem Set API key qua command line) chạy lúc người dùng đăng nhập.

⚠️ Trước khi gỡ cài đặt

Trình gỡ cài đặt xoá sạch thư mục C:\DVDAddin, kể cả file bạn tự đặt vào đó. Nếu đã chỉnh sửa biểu mẫu trong C:\DVDAddin\Template\ cho hợp với đơn vị mình, hãy sao lưu thư mục đó ra chỗ khác trước.

Thiết lập trong registry và license không bị xoá theo, nên cài lại là dùng tiếp được ngay.

Multi-user shared license

Hộp thoại Mua bản quyền cho chọn thời hạn (1 / 2 / 3 năm, hoặc Khác — liên hệ) và số máy (1–10 máy, hoặc Hơn 10 máy — liên hệ). Đơn hàng thanh toán xong sinh ra một license cho mỗi máy đã mua, tất cả gắn vào tài khoản đã khai ở bước 2.

Một tài khoản = một phiên đang hoạt động

Máy chủ cấp phép chỉ giữ một phiên đăng nhập cho mỗi license tại một thời điểm, và khi đăng nhập nó luôn chọn license mới nhất của tài khoản. Hệ quả thực tế: đăng nhập cùng một tài khoản trên máy thứ hai sẽ đẩy phiên trên máy thứ nhất ra (add-in báo phiên bị thu hồi ở nhịp kiểm tra kế tiếp), kể cả khi bạn đã mua nhiều máy.

Mua gói nhiều máy cho cả tổ thì hãy liên hệ nhà cung cấp để mỗi người được cấp tài khoản đăng nhập riêng — đừng phát chung một email/mật khẩu rồi kỳ vọng nhiều người dùng song song.

Định danh máy được băm ra từ ba thứ — MachineGuid của bản cài Windows, tên máy và phiên bản hệ điều hành — nên:

  • Cài lại add-in trên cùng máy → license giữ nguyên.
  • Cài lại Windows từ đầu / đổi máy → định danh đổi, phải đăng nhập lại.

Liên quan

Released under DVDAddin License.