Đến nội dung

Tùy biến nâng cao ​

Những cách tùy chỉnh DVDAddin vượt ra ngoài hộp thoại Tùy chọn: qua registry, file cấu hình và các thiết lập lưu ngay trong workbook.

Toàn bộ cây registry ​

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 Type và Expiration Date giữ lại để tương thích với bản 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 khung ghi chú (comment) chứa ảnh (px)
PictureClickHandlerTrue/False — bấm vào ảnh trong ô thì phóng to
EnlargeRatioTỉ lệ phóng to ảnh
AutoClickIntervalKhoảng thời gian giữa hai lần bấm 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 liên kết (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 bằng trình sửa registry ​

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:

  1. Vào HKCU\Software\DVD\DVDAddin\Model.
  2. Bấm chuột phải vào ModelGemini → Modify → nhập 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.

Đặt API key bằng dòng lệnh ​

Script cài sẵn 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 đó.

Đặt lại toàn bộ khoá 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 các khoá registry khác.

File cấu hình ​

Đường dẫnNội dung
%LocalAppData%\DVDAddin\license.datMã license (token) — JSON kèm chữ ký HMAC-SHA256
%LocalAppData%\DVDAddin\fx_cache.jsonBộ nhớ đệm tỷ giá của DVDFx, mỗi cặp tiền/ngày giữ 1 giờ
%APPDATA%\DVDAddin\lang.txtvi hoặc en — ngôn ngữ giao diện
%LocalAppData%\DVDAddin\diary.logBản ghi hoạt động (log) của lệnh Tạo Nhật ký
%TEMP%\DVDAddin\Bản ghi chẩn đoán: case.log (đổi chữ hoa/thường), ghost-cmd.log, ghost-kill.log
%TEMP%\dvdaddin-chat.logBản ghi hoạt động của DVD Chat
%TEMP%\DVDAddin_Sync_Log.txtBản ghi 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). Sao lưu file thì hoàn toàn được — xem Nguyên tắc làm việc hiệu quả → Sao lưu 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 cấp (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 các ô 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à dữ liệu thừa và bị add-in tự xoá ở lần đọc đầu tiên.)

Tùy chỉnh model AI ​

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 địa chỉ gốc (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 máy chủ AI tự dựng hay Ollama chạy nội bộ.

Prompt dịch tùy chỉnh cho ngành xây dựng ​

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 câu lệnh (prompt) 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
Sao chép định dạng ô (Format Painter của Excel)F8
Copy/Paste hiệnF6
Trả lời AI tại ôShift + 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 + J
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 thu thập dữ liệu sử dụng (telemetry). Add-in không gửi thống kê sử dụng ẩn danh, nên cũng không có công tắc đồng ý hay từ chối việc này.
  • Không tự 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 Kiểm tra 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 gỡ lỗi (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:

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 cài "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 quản trị (admin).
  • Cài vào C:\DVDAddin (kèm thư mục con Template\ và 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ự nhận biết Excel đang là bản 32-bit hay 64-bit rồi chỉ đăng ký đúng một file.
  • Đăng ký theo từng người dùng: quét các vị trí OPEN, OPEN1…OPEN50 trong HKCU\Software\Microsoft\Office\<phiên bản>\Excel\Options, dùng lại vị trí cũ của DVDAddin nếu có, nếu không thì lấy vị trí trống đầu tiên và ghi OPEN[N] = /R "C:\DVDAddin\DVDAddin-AddIn64-packed.xll". Cả 51 vị trí đều đã dùng hết 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 chạy lúc đăng nhập.

Cách A — Script lúc đăng nhập / khởi động máy ​

powershell
$installer = '\\share\DVDAddin\DVDAddin-Setup-2.8.7.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".

Cách B — SCCM / Intune ​

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

  • Lệnh cài (Install): DVDAddin-Setup-2.8.7.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
  • Lệnh gỡ (Uninstall): "C:\DVDAddin\unins000.exe" /VERYSILENT
  • Quy tắc nhận biết đã cài (Detection rule): có file C:\DVDAddin\DVDAddin-AddIn64-packed.xll.

Cách 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 Đặt API key bằng dòng lệnh) 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.

License cho nhiều người dùng ​

Cửa sổ mua (nút Bản quyền → 🛒 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 và nút Bản quyền đổi thành Đăng nhập lại), kể cả khi bạn đã mua nhiều máy.

Mua gói nhiều máy cho cả tổ thì chủ tài khoản mở hộp Bản quyền → Thành viên nhóm… để cấp cho mỗi người một tài khoản đăng nhập riêng (số thành viên tối đa bằng số máy đã mua) — đừ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 ​

Phát hành theo giấy phép DVDAddin.