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
2,259
Được thích
2,996
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:
Dạ em chạy được rồi anh à. mà hình như không cần tạo tiêu đề chỉ cần tạo bảng là chạy ngon anh à
Bạn xem cái video tôi hướng dẫn.
Cái dòng tiêu đề trên cùng có dấu ngoặc vuông chỉ được tạo ra mục dích là để copy, chèn vào Word cho nhanh, copy xong thì xóa nó đi.
 
Upvote 0
Anh xem em test đi test lại phát hiện nếu xóa 1 ô dữ liệu hoặc để ô trống của dòng cần trộn thì báo lỗi này anh ạ
 

File đính kèm

  • XOAO.jpg
    XOAO.jpg
    89.9 KB · Đọc: 42
Upvote 0
Anh xem em test đi test lại phát hiện nếu xóa 1 ô dữ liệu hoặc để ô trống của dòng cần trộn thì báo lỗi này anh ạ
Bạn kiếm đoạn code như trong hình và thêm đúng code tô màu vàng là sẽ hết lỗi.
Nằm trong hàm: SearchReplaceText()

* Đã cập nhật bản sửa lỗi đề cập ở trên vào bài #1

Screen Shot 2022-07-06 at 15.12.15.png
 
Lần chỉnh sửa cuối:
Upvote 0
Xin mạn phép được đóng góp bài của Bác. Bác có thể bổ sung thêm chức năng tạo Foder theo họ tên hoặc theo cột nào tùy ý khi xuất ra như hình sau thì tuyệt
1657150019370.png
 
Upvote 0
Upvote 0
Sao bạn soap1234 sửa hết nội dung các bài hôm qua vậy? Chơi gì kỳ thế.

Code cần chỉnh lại mấy chỗ có hàm Dir(), vì gặp lỗi với tên Folder là tiếng Việt có dấu. Và chỗ ký tự [] nữa, chấp nhận hoặc bẫy lỗi gì đó.
 
Upvote 0
Lạc chủ để nên xóa đi để tránh phân tán bài của chủ post thôi
 
Upvote 0
Sao bạn soap1234 sửa hết nội dung các bài hôm qua vậy? Chơi gì kỳ thế.

Code cần chỉnh lại mấy chỗ có hàm Dir(), vì gặp lỗi với tên Folder là tiếng Việt có dấu. Và chỗ ký tự [] nữa, chấp nhận hoặc bẫy lỗi gì đó.
Bởi vậy tôi cứ thích là đặt tên Folder tiếng Việt không dấu đi để dùng hàm Dir() cho nó nhanh, khỏi phải khai báo FSO gì cả. Mà mọi người cứ thích là phải gõ đầy đủ dấu mới chịu.
 
Upvote 0
Đặt Forder tiếng việt có dấu là điều tối kỵ lắm . Bắc tập trung phát triển thêm 1 Inputbox nữa như bài #26 bác à
 
Upvote 0
Bởi vậy tôi cứ thích là đặt tên Folder tiếng Việt không dấu đi để dùng hàm Dir() cho nó nhanh, khỏi phải khai báo FSO gì cả. Mà mọi người cứ thích là phải gõ đầy đủ dấu mới chịu.

Thực ra chữ tiếng Việt có dấu chỉ là một phần nhỏ. Có nhiều dạng chữ viết nữa, ở nhiều phiên bản hệ điều hành Windows nữa.
Ở các doanh nghiệp FDI người ta gõ chữ Hàn, Nhật, Trung là hoàn toàn bình thường. Vấn đề đáng lưu ý chứ anh.


------

Đọc cái gì? Tôi theo dõi các bài hôm qua bạn khóc lóc kêu lỗi tùm lum? Mấy cái hình chụp cũng xóa hết rồi.
 
Upvote 0
Điêu khóc mô mà khóc. Tóm lại cứ theo mẫu anh ongke0711 mà làm cho chính xác và chuẩn
 
Upvote 0
Như thế này người ta mới gọi là điêu toa, bất nhất. Vẫn còn bằng chừng sờ sờ ra đó mà cãi bay biến được. Tài thật!


1657162758036.png


1657162808259.png
 
Upvote 0
Tóm lại cứ theo thiết kế của anh @ongke0711 chạy cho mượt chả thiết kế lung tung gì nữa. chạy hay trục trặc lắm
 
Upvote 0
Khiếp. Từ kêu la giờ chuyển sang nịnh ghê thế.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom