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, TrialStartUtcNgoài ra còn ba khoá cũ ParamsGemini, Key Type và Expiration 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 |
|---|---|
Language | VI | EN — ngôn ngữ giao diện (dự phòng cho lang.txt) |
OpTranslate | Google | Gemini | ChatGPT — dịch vụ dịch mặc định |
TxtAddSpace | Khoảng đệm (pt) cộng thêm khi canh chiều cao ô gộp |
JoinDelimiter / JoinDelimiterCustom | Space | Comma | Semicolon | Newline | Custom, và chuỗi tự đặt |
DeleteSkipHidden | True/False — bỏ qua dòng ẩn khi xoá |
InsertCount | Số dòng chèn mặc định |
RoundFunction / RoundDecimals | ROUND | ROUNDUP | ROUNDDOWN, và số chữ số |
LockStyle | Both | Row | Column — kiểu khoá tham chiếu $ |
FormulaSkipHidden, FormulaErrorChecking | True/False |
PictureFit | Cell | Original | Width | Contain |
CommentWidth | Bề rộng comment ảnh (px) |
PictureClickHandler | True/False — bấm vào ảnh trong ô thì phóng to |
EnlargeRatio | Tỉ lệ phóng to ảnh |
AutoClickInterval | Khoảng cách giữa hai cú click của Auto Click (ms) |
CaptureIncludeExcel | True/False — chụp màn hình có lấy cả khung Excel |
ModeHighlight | ROW | COLUMN | ALL — kiểu nổi bật hàng/cột |
BackColor, Opacity, Fading, IsFading | Màu và độ mờ của dải nổi bật |
A4, A3, Portrait, Landscape, Top, Bottom, Left, Right, Header, Footer | Khổ giấy, hướng giấy và lề mặc định khi in |
FileTreeHyperlinks | True/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 + R → regedit → Enter.
Đổi model AI thủ công
Mặc định Gemini dùng gemini-2.5-flash-lite. Đổi sang model khác:
- Vào
HKCU\Software\DVD\DVDAddin\Model. - Right-click → Modify →
ModelGemini= tên model bạn muốn. - 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ổ:
$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
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ẫn | Nội dung |
|---|---|
%LocalAppData%\DVDAddin\license.dat | Token license — JSON kèm chữ ký HMAC-SHA256 |
%LocalAppData%\DVDAddin\fx_cache.json | Cache tỷ giá của DVDFx, TTL 1 giờ mỗi cặp tiền/ngày |
%APPDATA%\DVDAddin\lang.txt | vi hoặc en — ngôn ngữ giao diện |
%LocalAppData%\DVDAddin\diary.log | Log 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.log | Log của DVD Chat |
%TEMP%\DVDAddin_Sync_Log.txt | Log 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:
- Ô chọn model của mỗi nhà cung cấp cho gõ trực tiếp — nhập tên model mới.
- 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.
- 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 cho | Lựa chọn |
|---|---|---|
AIAssistantService | Trợ lý AI, các lệnh AI trong bảng tính | Gemini | OpenAI | Groq | NVIDIA |
ChatGPTService | Dịch bằng AI | OpenAI | Groq | NVIDIA |
OcrService | OCR file / OCR màn hình / Trích bảng | Gemini | OpenAI | Groq | NVIDIA |
TranscribeService | Chuyể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ệnh | Phím mặc định |
|---|---|
| Xem công thức | F3 |
| Format Painter | F8 |
| Copy/Paste hiện | F6 |
| AI Inline Answer | Shift + F1 |
| Xoay căn lề ngang | Ctrl + J |
| Xoay căn lề dọc | Ctrl + M |
| Tô nền vàng | Ctrl + Shift + A |
| Xoay kiểu chữ hoa/thường | Ctrl + Shift + C |
| Hoa theo ngữ cảnh (AI) | Ctrl + Shift + S |
| Chỉnh ảnh | Ctrl + Shift + D |
| Dịch sang Tiếng Việt | Ctrl + Shift + V |
| Dịch sang Tiếng Anh | Ctrl + Shift + E |
| AutoFit gộp ô | Ctrl + Shift + M |
| Gộp giữ data | Ctrl + Shift + Z |
| In nghiêng | Ctrl + Shift + I |
| Đảo ngược sau ký tự ngăn cách | Ctrl + Shift + R |
| Điều hướng | Ctrl + Shift + W |
| Tìm lệnh nhanh | Ctrl + Shift + Q |
| Copy/Paste bỏ qua dòng ẩn | Alt + X |
| Chèn và Sao chép | Alt + C |
| OCR Screen Clip | Alt + 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ứ có và 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:
- Tự động tính và Tự động vẽ — tính/vẽ lại tiến độ khi sửa ô.
- Tự động hiện gợi ý — cửa sổ gợi ý nhập nhanh.
- Nổi bật hàng cột — dải nổi bật theo ô đang chọn.
- Xem ảnh — bấm ảnh trong ô để phóng to.
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 conTemplate\vàLibrary\). - Chép cả hai file
.xllvào máy (DVDAddin-AddIn-packed.xllcho Excel 32-bit,DVDAddin-AddIn64-packed.xllcho 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,OPEN1…OPEN50trongHKCU\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à ghiOPEN[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
$installer = '\\share\DVDAddin\DVDAddin-Setup-2.8.3.exe'
Start-Process $installer -ArgumentList '/VERYSILENT','/SUPPRESSMSGBOXES','/NORESTART' -WaitTham 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
- Tùy chọn — giao diện cấu hình mà đa số người dùng cần.
- Best Practices — general tips.
- Backup & Restore — sao lưu registry tree và license.
- Performance Tuning — các công tắc ảnh hưởng tới tốc độ.