Claude Code + Word
Điền hàng loạt báo giá Word bằng Claude Code
Bạn đưa AI một mẫu báo giá Word và danh sách 20 khách, bảo điền tự động. Lần chạy đầu tiên, điều gì xảy ra?
Hai mươi báo giá của Don Coffee
Quán cần gửi báo giá cà phê văn phòng cho 20 khách hàng, mỗi bản một tên, một công ty, một đơn hàng riêng. Làm tay là chép mẫu ra, sửa khoảng 12 chỗ, rồi lặp lại 20 lần. Chủ quán không biết Python, chỉ muốn 20 file sẵn sàng gửi đi, mở được ngay trên Word đang dùng.
Đầu vào
Một mẫu báo giá Word có sẵn các chỗ đánh dấu, và một danh sách 20 khách trong bảng CSV.
Điều chủ quán cần
Mỗi khách một file .docx riêng, đặt tên theo công ty, sẵn sàng gửi đi.
Điều chủ quán giữ
Quyền duyệt từng lệnh, file mẫu chỉ đọc, và mở bằng Word 2019 thật để nghiệm thu.
Hình minh họa
Vì sao lần chạy đầu lại sai?
Điền chỗ đánh dấu trong Word nghe rất đơn giản, nhưng có hai đặc điểm ẩn khiến cách làm ngây thơ vấp ngã. Cả hai đều không nhìn thấy được bằng mắt khi mở file.
Hai lỗi ẩn của Word
Vuốt ngang để xem đủ các cột.
| Lỗi | Nguyên nhân ẩn | Cách sửa |
|---|---|---|
| Tên khách {TEN_KHACH} không được thay | Word cắt một chỗ đánh dấu thành nhiều mảnh chữ rời bên trong | Gộp text cả đoạn văn rồi mới thay, không dò từng mảnh |
| Cả bảng hàng hóa bị bỏ trống | Chữ trong bảng nằm ở một nhánh riêng, không thuộc phần thân trang | Duyệt thêm từng hàng, từng ô bên trong bảng |
Trong thư mục bao-gia có mẫu mau-bao-gia.docx và danh sách khach-hang.csv gồm 20 khách hàng.
1. Việc cần làm: với mỗi khách trong danh sách, điền dữ liệu vào mẫu báo giá rồi xuất ra một file .docx riêng trong thư mục xuat.
2. Dữ liệu đầu vào: mẫu Word có sẵn các chỗ đánh dấu như {TEN_KHACH}, {CHUC_VU}, {CONG_TY}, và một bảng hàng hóa chứa {SAN_PHAM}, {SO_LUONG}, {DON_GIA}, {THANH_TIEN}. Danh sách khách là bảng CSV, mỗi dòng một khách với đủ các cột tương ứng.
3. Ràng buộc: chỉ đọc file mẫu và danh sách, không sửa chúng. Dùng Python trong .venv có sẵn của thư mục này.
4. Nghiệm thu: mở ngẫu nhiên 2 trong 20 file xuất ra bằng Word 2019, kiểm tên khách đã đúng chưa và lấy Số lượng nhân Đơn giá xem có bằng Thành tiền không. In ra tổng giá trị của cả 20 báo giá.Chỗ đánh dấu bị cắt mảnh
Word có thể lưu {TEN_KHACH} thành nhiều mảnh chữ rời. Dò từng mảnh sẽ không khớp cả cụm, nên phải thay ở cấp đoạn văn.
Chữ trong bảng ở nhánh riêng
Các ô trong bảng không nằm chung với phần thân trang. Phải duyệt riêng từng ô thì mới điền được bảng hàng hóa.
Trong file lỗi, Chức vụ và Địa chỉ thay đúng nhưng tên khách {TEN_KHACH} vẫn trơ. Nguyên nhân hợp lý nhất là gì?
Bảng hàng hóa vẫn còn nguyên các chỗ đánh dấu như {SAN_PHAM}, {THANH_TIEN}. Cách sửa đúng là gì?
Giải thích
1. Xin phép trước, đọc mẫu trước
Bash command ls bao-gia && .venv/bin/python -c "import docx, csv" Kiểm tra thư mục và thư viện đọc/ghi file Word This command requires approval Do you want to proceed? ❯ 1. Yes 2. Yes, and don't ask again 3. No Sau khi được duyệt, Claude Code không viết code ngay mà đọc thử cấu trúc mẫu: có bao nhiêu đoạn văn, chỗ đánh dấu nào nằm trong bảng, chỗ nào nằm ở phần thân trang.
AI không viết code ngay. Nó đọc thử cấu trúc mẫu trước, vì viết quy tắc thay chỗ đánh dấu mà chưa nhìn cách Word lưu chúng rất dễ bỏ sót.
2. Lần chạy đầu bị sai, và nhìn ra sai ở đâu
bao-gia-01 (lần chạy đầu, chưa đúng):
Kính gửi: Bà {TEN_KHACH} ← chưa được thay
Chức vụ: Trưởng phòng Hành chính ← đã thay đúng
Địa chỉ: 45 Nguyễn Đình Chiểu... ← đã thay đúng
Bảng hàng hóa:
{SAN_PHAM} | {SO_LUONG} | {DON_VI} | {DON_GIA} | {THANH_TIEN} ← cả bảng còn trơSai đúng hai chỗ, đúng như hai đặc điểm ẩn ở trên: dòng kính gửi còn trơ chỗ đánh dấu, và cả bảng hàng hóa chưa có số nào. Các dòng nằm gọn trong một mảnh như Chức vụ, Địa chỉ thì đã thay đúng.
3. Sửa theo đúng hai hướng
Thay ở cấp đoạn văn
Gộp toàn bộ chữ của một đoạn lại rồi mới thay. Dù Word cắt chỗ đánh dấu thành mấy mảnh, cả cụm vẫn khớp.
Duyệt cả bảng
Đi qua từng hàng, từng ô trong bảng để các chỗ đánh dấu trong bảng hàng hóa cũng được thay.
4. Hai mươi file sạch, kể cả trường hợp lắt léo
Vài báo giá trong số 20 (mỗi khách một file)
Vuốt ngang để xem đủ các cột.
| File | Khách | Đơn hàng | Thành tiền |
|---|---|---|---|
| bao-gia-01 | Bà Nguyễn Thị Thu Hà — Sao La | 12 túi Arabica Cầu Đất x 320.000 | 3.840.000 đ |
| bao-gia-11 | Ông Ngô Văn Tài — Kim Chỉ Vàng | 25 túi Robusta x 240.000 | 6.000.000 đ |
| bao-gia-14 | Bà Mai Thị Thanh Tâm — Yoga An Nhiên | 12 hộp phin giấy x 135.000 | 1.620.000 đ |
| ... | 18 khách còn lại | mỗi khách một file riêng | ... |
Khách ở dòng 14 bị bỏ trống ô chức vụ. Claude Code không bịa một chức vụ, cũng không để lộ chỗ trống trơ trẽn, mà điền một dấu gạch cho gọn.
5. Nghiệm thu bằng Word 2019 thật
Đã xuất 20 file vào thư mục xuat. Tổng giá trị 20 báo giá: 67.455.000 đ. Mở ngẫu nhiên 2 file bằng Word 2019 để nghiệm thu: - bao-gia-01 (Bà Nguyễn Thị Thu Hà, Sao La): 12 túi x 320.000 = 3.840.000 đ. Khớp. - bao-gia-11 (Ông Ngô Văn Tài, Kim Chỉ Vàng): 25 túi x 240.000 = 6.000.000 đ. Khớp. File mẫu mau-bao-gia.docx và danh sách khach-hang.csv không bị thay đổi.
Hai file mở ngẫu nhiên để nghiệm thu
Vuốt ngang để xem đủ các cột.
| File | Kiểm tra tay | Kết quả |
|---|---|---|
| bao-gia-01 | 12 x 320.000 | 3.840.000 đ, khớp |
| bao-gia-11 | 25 x 240.000 | 6.000.000 đ, khớp |
Mở đúng vài file bất kỳ và tự nhân lại một con số là cách kiểm rẻ mà chắc. File mẫu và danh sách gốc vẫn nguyên, không bị sửa.
6. Hai bẫy cần nhớ
Tin vào cách thay từng mảnh
Chỗ đánh dấu có thể bị Word cắt thành nhiều mảnh mà mắt thường không thấy. Hãy thay ở cấp cả đoạn văn.
Quên rằng bảng nằm ở nhánh riêng
Nếu báo giá, hợp đồng hay phiếu của bạn có bảng, phải dặn máy duyệt cả bảng chứ không chỉ phần thân trang.
- Giao việc gọn: một mẫu Word có chỗ đánh dấu, một danh sách khách, xuất mỗi người một file.
- Đọc từng lệnh rồi mới cho Claude Code chạy trên máy.
- Lần chạy đầu bị sai thì mở file lỗi để chẩn đúng bệnh, đừng sửa mò.
- Hai đặc điểm ẩn của Word: chỗ đánh dấu bị cắt mảnh, và chữ trong bảng nằm ở nhánh riêng.
- Nghiệm thu bằng cách mở vài file thật và tự nhân lại một con số.
Thử với mẫu giấy tờ của bạn
Lấy một mẫu báo giá, hợp đồng hay phiếu giao hàng bạn hay dùng, đánh dấu các chỗ cần điền, chuẩn bị một danh sách khách trong bảng, rồi giao đúng khuôn: việc cần làm, đầu vào, ràng buộc chỉ đọc, và cách nghiệm thu.
Bạn không cần Word 365 hay bản quyền đặc biệt cho vòng lặp này. Kết quả vẫn mở trong Word 2019 thường.
Kiểm tra hiểu biết
Vì sao tên khách {TEN_KHACH} không được thay, trong khi Chức vụ và Địa chỉ ngay bên dưới lại thay đúng?