Chia sẻ tiện ích "In hàng loạt với dữ liệu có sẵn" trên Excel

Liên hệ QC

dhn46

Hướng tới tương lai
Tham gia
1/3/11
Bài viết
3,252
Được thích
3,868
Qua quá trình làm việc dhn46 nhận thấy nhu cầu in với số lượng lớn Form mẫu với Data có sẵn là rất nhiều, ví dụ như: Hợp đồng, tờ khai bảo hiểm, phiếu xuất nhập, nhãn mác thùng hàng, thẻ nhân viên...
Các biểu mẫu này có đặc điểm chung là: in trên Form sẵn có với dữ liệu lần lượt lấy từ nguồn tương tự Mail Merg, hoặc in các biểu mẫu có thêm hình ảnh. Việc tiếp cận và tạo các biểu mẫu này với các bạn không biết lập trình là 1 điều khó khăn, do đó dhn46 có viết 1 tiện ích nhỏ để hỗ trợ cho những bạn cần mà chưa có giải pháp.
* Tính năng:
- Tự động in các biểu mẫu với số liệu nhảy tuần tự theo bảng dữ liệu gốc
- Tự động chèn ảnh vào Form mẫu
- Tạo các biểu mẫu tùy ý, linh động trong việc chèn dữ liệu vào Form
* Hướng dẫn sử dụng:
Có 2 phiên bản in hàng loạt
- Loại 1: In Form không lặp lại - dùng để in 1 Form duy nhất trên 1 trang, chỉ nhảy dữ liệu và hình ảnh, ví dụ như hợp đồng, BHXH, phiếu xuất nhập...
- Loại 2: In Form lặp lại – dùng để in mà Form tự nhân bản trên trang in với số cột tùy chọn, dùng để in các Form mẫu kích cỡ nhỏ như thẻ nhân viên, nhãn thùng hàng...
Để sử dụng 2 loại các bạn cần thực hiện các bước sau:
*Chung:
- Cả 2 File đều có: Sheet Khai báo và Sheet Data.
- Các bạn khai báo đầy đủ các trường trong sheet Khai báo tương ứng với sheet Data
+ Sheet Name: tên sheet chứa Form mẫu (ở ví dụ là: Form – ô C1)
+ Nội dung: Các trường cần chèn vào Form mẫu
+ Cột Sheet Data: Cột dữ liệu tương ứng với Nội dung tại Sheet Data. (Ví dụ: A, B, ..
+ Cột Vị trí hiển thị: Vị trí đặt dữ liệu tại Sheet Form (Các vị trí này sẽ nhảy tuần tự dữ liệu theo mỗi bản in)
+ Link ảnh: Copy đường dẫn thư mục chứa ảnh vào ô F1, hoặc nhấn nút lệnh để tìm đường dẫn
+ Khung ảnh: Tên các trường ảnh muốn chèn
+ Tên khung ảnh: Đây là tên của Shape các bạn vẽ trên Sheet Form. Các hình ảnh sẽ được Fill trong shape nên cần phải vẽ shape khi muốn chèn trên Form. Nếu không cần hình ảnh nhảy trên Form thì các bạn không khai báo trường này, để trống.
+ Cột tên ảnh: Là cột chứa tên ảnh không bao gồm phần mở rộng
Ở đây dhn46 lấy tên ảnh theo cấu trúc [tên ảnh = tên ảnh trong cột tên ảnh]
Theo ví dụ trong File thì tên ảnh lấy theo Code. bạn có Code VN0001 thì sẽ phải có ảnh VN0001.jpg hoặc VN0001.bmp.
*Riêng:
- Đối với bản in hàng loạt có lặp lại: thì các bạn cần thiết kế Form mẫu, khai báo vùng chứa Form mẫu và số cột Form trong trang in.
*--------------------------------------
Khi hoàn thành bước khai báo có thể tiến hành in.
Các bạn xem Video để tham khảo cách sử dụng

[video=youtube;4V8qhBhw4yo]http://www.youtube.com/watch?v=4V8qhBhw4yo&feature=youtu.be[/video]

(Do dhn46 mới "tập tành" viết Code nên Code còn lủng củng và sẽ có nhiều hạn chế, mong các bạn sử dụng, góp ý để hoàn thiện hơn sản phẩm.)

Trân trọng!
*----------------------------------
Update: 14/08/2014 - gói gọn các cải tiến trong 1 phiên bản
- Cho phép thêm dữ liệu trên Textbox
- In thẻ trên sheet KQ bắt đầu tại dòng 10 để 9 dòng trước có thể điền tiêu đề.
- Chọn in thẻ theo số thứ tự qua Form.
- In, xem khi Filter
*-----------------------------------
Update: 14/08/2014
- Sửa in hàng loạt không lặp lại - Sửa lỗi code giớ hạn 18 field
 

File đính kèm

  • In Form hàng loạt 04.2016.rar
    305.1 KB · Đọc: 3,202
Lần chỉnh sửa cuối:
Nhưng mà khoảng trống giữa các hình thẻ tăng lên thầy ạ
Đó là do bạn khai báo khu vực thẻ thôi. Bạn cho thẻ của bạn nằm gọn trong 1 vùng rồi khai báo vùng đó là vùng thẻ thì khoảng cách các thẻ vô cùng nhỏ chỉ đủ để 1 lưỡi dao cắt ra các thẻ riêng biệt.

Nếu không làm được bạn post file tôi làm thử cho bạn.
 
Upvote 0
Hi dhn46,
Khi mình đổi tên sheet name tại C1 trong mục sheet Khai bao thì chương trình cứ báo "Đặt tên cột" nên không thể chỉnh sửa lại được, với lại file của mình có nhiều sheet, thì các sheet không nằm thêm thứ tự, mặc dù có khai báo tên sheet chứa form cần in nhưng chương trình cứ mặc định in sheet1 trong file của mình. Hy vọng bạn có thể giải thích cho mình được không ạ? Cảm ơn bạn
 
Lần chỉnh sửa cuối:
Upvote 0
Hi dhn46,
Khi mình đổi tên sheet name tại C1 trong mục sheet Khai bao thì chương trình cứ báo "Đặt tên cột" nên không thể chỉnh sửa lại được, với lại file của mình có nhiều sheet, thì các sheet không nằm thêm thứ tự, mặc dù có khai báo tên sheet chứa form cần in nhưng chương trình cứ mặc định in sheet1 trong file của mình. Hy vọng bạn có thể giải thích cho mình được không ạ? Cảm ơn bạn
Chào bạn,

Hiện tượng bạn gặp đó là lỗi của chương trình, tôi đã fix lỗi này.
Bạn DownLoad Inform New 3 để sử dụng nhé. (File tại bài #1).
 
Upvote 0
Anh ơi!
Em hiện tại đã sửa được phần form xong hết rồi anh ạ, nhưng không hiểu sao em ko thể nào chèn ảnh vào được, có một vài câu hỏi sau mong anh giải thích dùm em với, do công ty ko cho xem video nên không tài nào hiểu được
1. Làm thế nào để đặt tên cho shapes được
2. Trong cột E2 (ver2) là "Khung ảnh" với cột F2 là "Tên khung ảnh" thì ở đây điền là gì ạ? (em đã cho riêng một foldel ảnh, và đặt tên ảnh trùng với tên số code trong cột data).

Quan trọng nhất là phần chèn ảnh vào, còn lại em đã chỉnh được rồi ạ, bài của anh quá ngon, công ty em đang rất cần phần in thẻ, trước toàn làm bằng tay. Cảm ơn anh nhiều ạ
 
Upvote 0
Anh ơi!
Em hiện tại đã sửa được phần form xong hết rồi anh ạ, nhưng không hiểu sao em ko thể nào chèn ảnh vào được, có một vài câu hỏi sau mong anh giải thích dùm em với, do công ty ko cho xem video nên không tài nào hiểu được
1. Làm thế nào để đặt tên cho shapes được
Chọn shapes cần đặt tên sau đó gõ tên cần đặt vào ô name box--> Enter.
 
Upvote 0
Anh ơi!
Em hiện tại đã sửa được phần form xong hết rồi anh ạ, nhưng không hiểu sao em ko thể nào chèn ảnh vào được, có một vài câu hỏi sau mong anh giải thích dùm em với, do công ty ko cho xem video nên không tài nào hiểu được
1. Làm thế nào để đặt tên cho shapes được
2. Trong cột E2 (ver2) là "Khung ảnh" với cột F2 là "Tên khung ảnh" thì ở đây điền là gì ạ? (em đã cho riêng một foldel ảnh, và đặt tên ảnh trùng với tên số code trong cột data).

Quan trọng nhất là phần chèn ảnh vào, còn lại em đã chỉnh được rồi ạ, bài của anh quá ngon, công ty em đang rất cần phần in thẻ, trước toàn làm bằng tay. Cảm ơn anh nhiều ạ
Chào bạn,

Tôi trả lời 2 câu hỏi của bạn

1. Bạn kích chọn vào shape, quan sát phía trên góc bên trái có chữ Rectang...(nơi sẽ hiện địa chỉ ô khi kích chuột vào) gõ tên khung ảnh vào đó. Bạn xem Video lúc tôi kích vào shape và gõ SHP

2. Sau khi đặt tên thì đó chính là tên khung ảnh mà bạn cần điền vào cột E.
 
Upvote 0
Cảm ơn anh, em đã hiểu phần này, nhưng sao vẫn ko hiện ảnh lên được, em đưa file lên anh xem dùm em với nhé
 

File đính kèm

  • CHECK.7z
    300.7 KB · Đọc: 23
Upvote 0
Bạn cho hỏi bạn có kn nào về việc khai báo máy in kim lq-2180 dùng để in form giấy a4/2 (một trang giấy a4 cắt làm 2) loại continuous form dùng để in chứng từ. Mình có làm cái truy vấn để in lên form loại này mà chọn khổ giấy không thành công, in cứ bị giật trang hoài. Làm sao in hết 1 form giấy (1/2 khổ a4) thì nó load lên form sau để in trang tiếp theo cho trùng với form đầu. Đang rồi chở này
 
Upvote 0
Bạn đà khai báo link folder ảnh đâu. F1 sheet Khai bao
em khai báo rồi bác ạ. Chỉ đúng đường dẫn của nó, để ngay ngoài desktop luôn, ảnh giống với phần khai báo mã code :|. Không hiểu sao nó ko lên được ảnh bác ạ? còn lại em khai báo thế là ok rồi hả bác? em dùng Win 7 32 bit, office 2007
 
Upvote 0
em khai báo rồi bác ạ. Chỉ đúng đường dẫn của nó, để ngay ngoài desktop luôn, ảnh giống với phần khai báo mã code :|. Không hiểu sao nó ko lên được ảnh bác ạ? còn lại em khai báo thế là ok rồi hả bác? em dùng Win 7 32 bit, office 2007
- Bạn đặt tên ảnh chưa đúng. Cột B của bạn có dang số tức không có số 0 ở đầu trong khi ảnh của bạn có số 0 ở đầu. (Ví dụ: cột B là 12345 thì bạn có ảnh 012345.jpg như vậy không được mà cột B phải là 012345)

- Bạn tải chương trình mới nhất được update ngày hôm nay để khắc phục những lỗi còn tồn tại và áp dụng tốt hơn cho Form của bạn.
 
Lần chỉnh sửa cuối:
Upvote 0
Update bản mới nhất 14.08.2014. Tải tiện ích tại bài #1
 
Upvote 0
cảm án bác rất nhiều ạ, em đã sửa và thành công :d.
 
Upvote 0
Chào bạn!
Mình đã đọc và tìm hiểu hết các bài và thắc mắc ở trên nhưng vẫn không hiểu sẽ triển khai cho file của mình như thế nào?
Rất mong được bạn giúp đỡ.
file này mình đã nhờ GPE giúp tạo ra được sheet "nhatky" còn vướng mắc vấn đề in muốn xuất ra hàng loạt các ngày nhật ký để in? rất mong bạn giúp đỡ, thanks
 

File đính kèm

  • NhatKyTC.xls
    244 KB · Đọc: 30
Upvote 0
ai ơi hướng dẫn em với. Em làm mãi mà chẳng được huhu
 
Upvote 0
chào các bạn,
tôi muốn bản in không chừa các hàng trên đầu thì chỉnh sửa như thế nào. theo cách này bản in lúc nào cũng chừa 4 dòng trên cùng. Mong nhận được phản hồi giúp đỡ của các bạn.
cám ơn
 
Lần chỉnh sửa cuối:
Upvote 0
Update bản mới nhất 14.08.2014. Tải tiện ích tại bài #1
Anh cho em hỏi 2 vấn đề:
- Em muốn 1 ô Nội dung trong sheet khai báo xuất hiện ở 2 hoặc 3 vị trí khác nhau được ko? Nếu được thì làm ntn?
- Trong file In hàng loạt ko lặp lại , e muốn có sheet kết quả, để xem đã trộn đủ chưa, và muốn lưu lại kết quả đó? Nếu được thì pải tạo sheet KQ ntn?
 
Upvote 0
Anh cho em hỏi 2 vấn đề:
- Em muốn 1 ô Nội dung trong sheet khai báo xuất hiện ở 2 hoặc 3 vị trí khác nhau được ko? Nếu được thì làm ntn?
- Trong file In hàng loạt ko lặp lại , e muốn có sheet kết quả, để xem đã trộn đủ chưa, và muốn lưu lại kết quả đó? Nếu được thì pải tạo sheet KQ ntn?
Chào bạn,

Tôi trả lời 2 câu hỏi của bạn

1/ Bạn muốn xuất hiện tại nhiều vị trí thì bạn khai báo bình thường, cứ 1 cột tại sheet Data sẽ tương ứng 1 ô tại sheet Form, các giá trị cột lặp lại nhiều lần với nhiều vị trí

2/ Tiện ích In không lặp lại không cho phép làm như vậy. Nếu bạn muốn lưu hãy sử dụng phần Lặp lại để lưu nhé.
 
Upvote 0
chào các bạn,
tôi muốn bản in không chừa các hàng trên đầu thì chỉnh sửa như thế nào. theo cách này bản in lúc nào cũng chừa 4 dòng trên cùng. Mong nhận được phản hồi giúp đỡ của các bạn.
cám ơn
Bạn không muốn 4 dòng đầu tại sheet KQ thì bạn ẩn 4 dòng đó đi là được.
 
Upvote 0
Web KT
Back
Top Bottom