Trộn dữ liệu từ Excel sang Word mở rộng (phiên bản ongke0711)

Liên hệ QC

ongke0711

Thành viên gắn bó
Tham gia
7/9/06
Bài viết
1,969
Được thích
2,561
Giới tính
Nam
(Xin phép được tách bài từ bài post của bác Maika8008 (Link) để tránh lẫn lộn khi trao đổi và do cũng tài lanh xen vào, gây loãng bài của bác ấy).


Trộn dữ liệu từ Excel sang Word
-------------------------------------------------------------------------------------------

Lấy cảm hứng từ ý tưởng và file của bác Maika8008, tôi cũng thiết kế một phiên bản khác cho việc Trộn dữ liệu từ Excel sang Word.
Phiên bản này tổng hợp các nhu cầu thực tế của người dùng đã trao đổi trong chủ để này, có thể chưa đầy đủ nhưng cũng đáp ứng cơ bản cho công việc.

* Các chức năng:
- Tùy chọn trộn dữ liệu: Một (hoặc nhiều) đối tượng cho một (hoặc nhiều) văn bản.
- Tự động tạo tiêu đề cột riêng, không ảnh hưởng đến thiết kế bảng.
- Không cần cố định vị trí (dòng, cột ) của dữ liệu cần trộn vì dùng tham chiếu qua Table name.
- Chỉ lấy những dòng dữ liệu sau khi dùng Filter trong bảng dữ liệu.
- Khắc phục lỗi khi trộn đoạn văn bản nhiều hơn 255 ký tự.
- Trộn có kèm luôn file hình ảnh (.jpg, .png, .bmp).
- Trộn các Symbols (font Wingdings, Marlett, Webdings)
- Xuất file dạng .Docx, .PDF


>> Cập nhật ngày 11/10/2023:
- Trộn bảng biểu Excel vào Word Table, giữ nguyên định dạng thiết kế trong Excel.

Thiết kế cũng chưa bẫy lỗi gì nhiều, chắc chắn sẽ phát sinh lỗi khi thao tác, các bạn chạy kiểm tra thử nhé.
Tôi cũng đã thử dùng kết hợp tính năng Mail Merger có sẵn trong Word + VBA cho các tùy chọn nhưng tốc độ thực thi cũng không bằng một góc so với việc dùng thẳng Mail Merge (*) trong Word vì dù gì thì nó cũng đã qua code VBA để gọi tính năng Merge.

(*) Dùng Mail Merge trong Word rất nhanh nhưng nó chỉ đáp ứng tùy chọn cơ bản, đó là lý do có nhiều công cụ viết mở rộng thêm cho tính năng này.

Mã:
wdocSource.MailMerge.OpenDataSource...






3qgQKVn.png






Hướng dẫn sử dụng trong video.


* Đã cập nhật bẫy lỗi và chuyển sang kết nối muộn (Late binding) với Word để tránh lỗi giữa các phiên bản Office.

Link file (full code): https://www.mediafire.com/file/8fc086iogo32cie/MergeDataExcel2Word.zip/file
 
Lần chỉnh sửa cuối:
Bác @ongke0711 cho em hỏi, em muốn trộng nhiều file word vào các Sheet khác nhau, các sheet đó nằm ở các file excel khác nhau thì cái này có làm được không ạ? (vì hệ thống phần mềm bên em xuất ra các file excel định dạng khác nhau ạ) Em đội ơn bác ạ.
 
Upvote 0
Bác @ongke0711 cho em hỏi, em muốn trộng nhiều file word vào các Sheet khác nhau, các sheet đó nằm ở các file excel khác nhau thì cái này có làm được không ạ? (vì hệ thống phần mềm bên em xuất ra các file excel định dạng khác nhau ạ) Em đội ơn bác ạ.
Trộn nhiều sheet Excel vào file Word chứ.
Khi trộn file, nó có nhiều tùy biến, phải có những tùy chọn thủ công nên khó có thể thiết kế theo yêu cầu của bạn. Còn việc nhiều sheet khác nhau, nằm ở các file khác nhau thì bạn xem lại cách xây dựng, trích xuất dữ liệu để nó có thể hợp nhất thành 1 file rồi ứng dụng các phần mềm để trộn, chứ khó mà thiết kế ứng dụng đi theo cơ sở dữ liệu lộn xộn được.
 
Upvote 0
mình rất cảm ơn bản chia sẻ, đúng cái mình cần tuy nhiên mình đang làm thì không chạy được nhờ bản chỉ giúp. trộn thành công mở file word thì như hình dưới
loi 1.pngloi 2.png
 
Upvote 0
mình rất cảm ơn bản chia sẻ, đúng cái mình cần tuy nhiên mình đang làm thì không chạy được nhờ bản chỉ giúp. trộn thành công mở file word thì như hình dưới
View attachment 287499View attachment 287500
những cái cần thay hình như phải giống hệt tên cột ví dụ tiêu đề cột có tên là [[Tên DN]] thì trong file word từ cần thay cũng phải là [[Tên DN]]
 
Upvote 0
mình rất cảm ơn bản chia sẻ, đúng cái mình cần tuy nhiên mình đang làm thì không chạy được nhờ bản chỉ giúp. trộn thành công mở file word thì như hình dưới

File gốc của tôi ở dòng tiêu đề tôi không thêm dấu ngoặc vuông [...] và khi code tạo dòng tiêu đề sẽ tự động thêm một dấu ngoặc vuông. Bên file Word cũng chỉ dùng một dấu [...] cho nó tương đồng.
File của bạn thì Excel dùng 2 dấu [...], còn bên Word thì dùng 1 dấu [...] nên nó không tìm thấy nhau thôi.

Screen Shot 2023-03-12 at 15.50.36.png. Screen Shot 2023-03-12 at 15.50.57.png


File của tôi:

Screen Shot 2023-03-12 at 15.54.36.png
 
Lần chỉnh sửa cuối:
Upvote 0
Bác cho em hỏi khi chèn hình ảnh thì có cần làm gì nữa không, em chèn mà chỉ được thay được cái đường dẫn
 
Upvote 0
Thêm chức năng trộn nhiều dòng cùng lúc được không ạ.Ví dụ trộn biên bản giao hàng, có kèm list vật tư kèm theo
 
Upvote 0
Dạ. Thêm kèm zô addin này được không a. Chứ bình thường toàn phải trộn xong rồi zô từng trang đã trộn nhập tay lại
Trường hợp của bạn đặc thù thì phải viết code riêng cho nó chứ không đưa vô cái tool dùng chung của tôi ở trên được.
 
Upvote 0
ongke0711 cho em hỏi là mình chọn cái đường dẫn đến folder. Thay vì mình vào thư mục con ví dụ ạ C:\Users\X\Downloads\Compressed\Vanbantron thì mình có thể nhập C:\Users\ mà nó vẫn load tất cả tên file trong thư mục được không ạ. EM cảm ơn ạ.
 
Upvote 0
ongke0711 cho em hỏi là mình chọn cái đường dẫn đến folder. Thay vì mình vào thư mục con ví dụ ạ C:\Users\X\Downloads\Compressed\Vanbantron thì mình có thể nhập C:\Users\ mà nó vẫn load tất cả tên file trong thư mục được không ạ. EM cảm ơn ạ.
Nó sẽ hiển thị các file trong cái folder \Users (không bao gồm sub Folder của nó). Cái đường dẫn trong file demo bạn có thể tùy chọn lại đường dẫn khác được đó.
 
Upvote 0
Ý em là dạng sub Folder đó ạ.
Theo tôi nghĩ thì bác không nên chơi dại thế. Việc chạy cả folder con có thể làm được, nhưng điều này dễ khiến cho máy bác treo luôn vì bản chất của tool là sẽ mở file word lên và tìm từng cột, từng hàng trong bảng excel để thay thế. Để nó quét toàn bộ folder cha như thế nó quét cả những file không liên quan
 
Upvote 0
Ý em là dạng sub Folder đó ạ.
Bạn phải tổ chức quản lý file, thư mục cho nó hợp lý, dễ tìm kiếm chứ. Thư mục nào lưu trữ văn bản cần trộn cho công việc thì cũng phải có chứ chẳng lẻ bạn lưu lung tung rồi bât ứng dụng dùng AI để tìm văn bản nào cần trộn?
 
Upvote 0
Web KT
Back
Top Bottom