Add-In trộn thông tin từ Excel sang file mẫu Word

Liên hệ QC

Maika8008

Thành viên gạo cội
Tham gia
12/6/20
Bài viết
4,741
Được thích
5,669
Donate (Momo)
Donate
Giới tính
Nam
Tôi vừa xong cái Add-in làm từ VSTO của Visual Studio (VB) nhưng chưa đến đầu đến đũa, vẫn còn nhiều thứ ngổn ngang, chưa đâu vào đâu cả nhưng phải thử khâu public cái đã. Làm xong mà không biết gửi cho người ta xài hoặc người ta không xài được thì cũng coi như không.

Do vậy anh em giúp tôi cài thử xem có được không. Tôi không có máy khác để thử cài nên không biết phải hướng dẫn thế nào, chỉ đoán là chạy file Setup.exe rồi làm theo hướng dẫn của nó. Nếu khởi động Excel mà không thấy menu Trộn VB Word thì vào Excel tìm menu Developer -> COM Add-ins chọn ExcelMailMergeWord.

Cài được rồi thì anh em thử các chức năng giúp. Trong đó nói trước là khi trộn nhiều dòng nhiều văn bản thì cửa sổ Word có hiện ra, tôi chưa có cách xử lý.

Rất cảm ơn nếu các anh em đi trước trong mảng này vào xem và có chỉ dẫn để tôi biết cách làm hay hơn, cảm ơn các anh em thử và phản hồi.

Tôi đang dùng Win 10 64bit, Office 2013 64bit
Cập nhật:
Chạy cài đặt là dùng được không kể là 32bit hay 64bit
Đã xử lý trường hợp hiện cửa sổ Word khi trộn nhiều dòng nhiều văn bản và theo đó rút ngắn thời gian xuống còn 2/3
 

File đính kèm

  • Install_AddIn.rar
    269.6 KB · Đọc: 31
Lần chỉnh sửa cuối:
Tui dùng win và office 32bit nên không test được rồi.
 
Tui dùng win và office 32bit nên không test được rồi.
Bạn có kinh nghiệm ở mảng này nên cho tôi hỏi là viết trên V.Studio thì làm thế nào để public cho mọi hệ điều hành?
(tất nhiên là cần có Framework phù hợp)
 
VB.NET thì tui không biết còn C# thì có cái này.
VB.NET và C# đều dùng chung IDE, build như nhau mà bác. :)
Bài đã được tự động gộp:

Cài được rồi thì anh em thử các chức năng giúp. Trong đó nói trước là khi trộn nhiều dòng nhiều văn bản thì cửa sổ Word có hiện ra, tôi chưa có cách xử lý.
Máy tôi cài cái Add in này chạy tốt nha bác. Windows 11 + Office 2021 (64).

Screen Shot 2022-06-17 at 19.33.43.png

Nói chung là các chức năng chạy được hết như file Excel của bác.
- Chỉ có điều là file dữ liệu phải thiết kế vùng dữ liệu đúng như mẫu, nếu sai dòng cột thì khi chạy nó vẫn báo chạy "Xong." nhưng không biết cái file nó đi đâu rồi.
- Đường dẫn mặc định chưa được ghi nhớ khi người dùng thiết lập lại.
- Hình như bác vẫn chạy với code VBA hay sao mà thấy tốc độ xử lý không nhanh như file demo của bác giaiphap.
 
Lần chỉnh sửa cuối:
Máy tôi cài cái Add in này chạy tốt nha bác. Windows 11 + Office 2021 (64).

View attachment 277487

Nói chung là các chức năng chạy được hết như file Excel của bác.
- Chỉ có điều là file dữ liệu phải thiết kế vùng dữ liệu đúng như mẫu, nếu sai dòng cột thì khi chạy nó vẫn báo chạy "Xong." nhưng không biết cái file nó đi đâu rồi.
- Đường dẫn mặc định chưa được ghi nhớ khi người dùng thiết lập lại.
- Hình như bác vẫn chạy với code VBA hay sao mà thấy tốc độ xử lý không nhanh như file demo của bác giaiphap.
Lỗi thì không nói rồi vì tôi không lường hết các trường hợp gây lỗi.
Riêng chuyện chạy chậm thì tôi công nhận vì tôi đâu biết viết ngôn ngữ khác đâu. Việc viết bằng VB cho nó chạy được đã là cố gắng lớn của tôi rồi. Mong anh em đại xá. --=0
 
Lỗi thì không nói rồi vì tôi không lường hết các trường hợp gây lỗi.
Riêng chuyện chạy chậm thì tôi công nhận vì tôi đâu biết viết ngôn ngữ khác đâu. Việc viết bằng VB cho nó chạy được đã là cố gắng lớn của tôi rồi. Mong anh em đại xá. --=0
Làm tới đâu sửa tới đó thôi, tôi cũng vậy mà bác. Vừa học vừa thực hành thì thiết kế nó mất thời gian và chạy được là mừng húm rồi.
 
VB.NET thì tui không biết còn C# thì có cái này.
View attachment 277485
Tôi dùng VS 2022 nên giao diện không thấy nét gì giống thế này nhưng khi build thì mô tả trạng thái vẫn là Any CPU.
Chiều nay tôi gỡ bộ 64bit cài lại bộ 32bit, thử chạy setup.exe cái add-in thì kết quả tốt. Như vậy thì còn lại tùy thuộc vào phiên bản Win và Framework nào thôi. Theo tôi thấy khi tạo mới project thì chỉ có thể chọn Framework 4.7 chứ không có thấp hơn.
 
Tôi vừa xong cái Add-in làm từ VSTO của Visual Studio (VB) nhưng chưa đến đầu đến đũa, vẫn còn nhiều thứ ngổn ngang, chưa đâu vào đâu cả nhưng phải thử khâu public cái đã. Làm xong mà không biết gửi cho người ta xài hoặc người ta không xài được thì cũng coi như không.

Do vậy anh em giúp tôi cài thử xem có được không. Tôi không có máy khác để thử cài nên không biết phải hướng dẫn thế nào, chỉ đoán là chạy file Setup.exe rồi làm theo hướng dẫn của nó. Nếu khởi động Excel mà không thấy menu Trộn VB Word thì vào Excel tìm menu Developer -> COM Add-ins chọn ExcelMailMergeWord.

Cài được rồi thì anh em thử các chức năng giúp. Trong đó nói trước là khi trộn nhiều dòng nhiều văn bản thì cửa sổ Word có hiện ra, tôi chưa có cách xử lý.

Rất cảm ơn nếu các anh em đi trước trong mảng này vào xem và có chỉ dẫn để tôi biết cách làm hay hơn, cảm ơn các anh em thử và phản hồi.

Tôi đang dùng Win 10 64bit, Office 2013 64bit
Lỡ làm rồi làm thêm chức năng chèn hình luôn đi. Vẫn quan điểm cũ, theo tui thấy nên làm Add-Ins này bên Word thì tốc độ sẽ nhanh hơn so với làm bên Excel.
 
Bạn @giaiphap cho hỏi chút là theo kinh nghiệm bạn đã thiết kế các Add in thì cách tiếp cận hiệu quả là viết COM Add in hay dùng VSTO?
Trong tương lai chắc phải ngâm cứu tới Javascript API (Office Add in platform) để để hỗ trợ đa nền tảng quá, thấy có mấy tay viết rằng COM/VSTO đã là "lịch sử" :D .
 
Lần chỉnh sửa cuối:
Bạn @giaiphap cho hỏi chút là theo kinh nghiệm bạn đã thiết kế các Add in thì cách tiếp cận hiệu quả là viết COM Add in hay dùng VSTO?
Trong tương lai chắc phải ngâm cứu tới Javascript API (Office Add in platform) để để hỗ trợ đa nền tảng quá, thấy có mấy tay viết rằng COM/VSTO đã là "lịch sử" :D .
Tui cũng thuộc dạng mò toàn tập (mà trình độ anh ngữ của tui gần như là số 0), chính vì vậy kêu tui so sánh thì tui chịu, lúc mới nghiên cứu thì tui xem VSTO (Do nó sử dụng thư viện Microsoft.Office.Interop nên code gần như VBA) sau này có những cái tui chưa làm được và thấy ExcelDna hổ trợ nên hiện tại tui chuyển sang ExcelDna hoàn toàn. VSTO được cái là nó hổ trợ tốt thư viện của Office nên việc viết code tương đối dễ tiếp cận và nghiên cứu (Do mình đã có chút kiến thức về VBA).
Video dưới đây là tạo hàm chèn hình dùng ExcelDna
 
Lần chỉnh sửa cuối:
Tui cũng thuộc dạng mò toàn tập (mà trình độ anh ngữ của tui gần như là số 0), chính vì vậy kêu tui so sánh thì tui chịu, lúc mới nghiên cứu thì tui xem VSTO (Do nó sử dụng thư viện Microsoft.Office.Interop nên code gần như VBA) sau này có những cái tui chưa làm được và thấy ExcelDna hổ trợ nên hiện tại tui chuyển sang ExcelDna hoàn toàn. VSTO được cái là nó hổ trợ tốt thư viện của Office nên việc viết code tương đối dễ tiếp cận và nghiên cứu (Do mình đã có chút kiến thức về VBA).
Video dưới đây là tạo hàm chèn hình dùng ExcelDna
Excel DNA thì dùng viết các hàm người dùng (UDF) cho tốc độ cực nhanh rồi. Nó viết XLL còn VSTO thì vẫn phải giao tiếp qua COM interface nên chắc chắc chậm hơn. Tôi nhớ lâu lắm rồi là bác Tuân có chia sẻ cách viết hàm với Excel DNA. Tôi thấy tài liệu để tham khảo về nó ít quá. Không biết nó có hỗ trợ giao diện người dùng không chứ VSTO thì dễ tạo giao diện hơn. Sau khi đọc cơ bản các tài liệu về VSTO, Excel DNA thì tôi nghĩ:
- Tạo hàm người dùng thì nhất định là dùng Excel DNA. Viết XLL Add in là nhanh hơn nhiều so với COM.
- Nếu ít tương tác với Office (Excel, Word...) thì dùng VSTO tạo COM Add in.
- Tương tác liên tục với Workbook, Sheet... thì dùng VBA tốc độ sẽ nhanh hơn. Tôi nghĩ vậy. Vì nếu qua VSTO thì nó còn phải qua một tầng COM interface để giao tiếp với Office nên chưa chắc đã nhanh.
Một số hiểu biết cơ bản của tôi là vậy. Nhiều khi dùng từ không đúng chuyên ngành nên các bạn đừng bắt bẻ nhé.
 
Không biết nó có hỗ trợ giao diện người dùng không chứ VSTO thì dễ tạo giao diện hơn.
Dùng VSTO thì việc tạo giao diện (Ribbon) cực kỳ đơn giản, chỉ việc kéo thả như các Control khác trên Form thôi, còn nếu dùng ExcelDna thì việc tạo Ribbon nó hơi khó hơn (Dùng mã XML), nhưng nếu ai từng tạo Ribbon theo cách thủ công thì nó cũng dễ dàng không có gì khó.
- Tương tác liên tục với Workbook, Sheet... thì dùng VBA tốc độ sẽ nhanh hơn.
Cái này thì tui cũng chưa dám khẳng định, nhưng đã từng chạy thử và so sánh tốc độ, có một số trường hợp thì VBA nhanh hơn nhưng có những trường hợp thì lại chậm hơn (Cũng có thể do khả năng lập trình của bản thân chưa đủ đến cái trình xử lý giải thuật).
 
Dùng VSTO thì việc tạo giao diện (Ribbon) cực kỳ đơn giản, chỉ việc kéo thả như các Control khác trên Form thôi, còn nếu dùng ExcelDna thì việc tạo Ribbon nó hơi khó hơn (Dùng mã XML), nhưng nếu ai từng tạo Ribbon theo cách thủ công thì nó cũng dễ dàng không có gì khó.
Bác có thiết kế cái nào dùng Excel DNA nhưng có dùng Form để tương tác với người dùng không, chụp hình xem thử nhé. Tôi chỉ mới, tìm thấy có Ribbon và Task panel.
 
Tôi vừa xong cái Add-in làm từ VSTO của Visual Studio (VB) nhưng chưa đến đầu đến đũa, vẫn còn nhiều thứ ngổn ngang, chưa đâu vào đâu cả nhưng phải thử khâu public cái đã. Làm xong mà không biết gửi cho người ta xài hoặc người ta không xài được thì cũng coi như không.

Do vậy anh em giúp tôi cài thử xem có được không. Tôi không có máy khác để thử cài nên không biết phải hướng dẫn thế nào, chỉ đoán là chạy file Setup.exe rồi làm theo hướng dẫn của nó. Nếu khởi động Excel mà không thấy menu Trộn VB Word thì vào Excel tìm menu Developer -> COM Add-ins chọn ExcelMailMergeWord.

Cài được rồi thì anh em thử các chức năng giúp. Trong đó nói trước là khi trộn nhiều dòng nhiều văn bản thì cửa sổ Word có hiện ra, tôi chưa có cách xử lý.

Rất cảm ơn nếu các anh em đi trước trong mảng này vào xem và có chỉ dẫn để tôi biết cách làm hay hơn, cảm ơn các anh em thử và phản hồi.

Tôi đang dùng Win 10 64bit, Office 2013 64bit
Cập nhật:
Chạy cài đặt là dùng được không kể là 32bit hay 64bit
Đã xử lý trường hợp hiện cửa sổ Word khi trộn nhiều dòng nhiều văn bản và theo đó rút ngắn thời gian xuống còn 2/3
Sử dụng như thế nào bạn, tải về cài xong mà chưa biết cách dùng
 
Web KT
Back
Top Bottom