Đặt tên file khi In ra file PDF bằng máy in ảo theo tên chủ sử dụng (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

baquang1984

Thành viên tiêu biểu
Tham gia
3/6/10
Bài viết
429
Được thích
44
Nghề nghiệp
Kỹ sư Lâm nghiệp
Em chào Thầy, cô và anh chị trên diễn đàn GPE
E viết một chương trình in Giấy chứng nhận quyền sử dụng đất và khi em bấm vào Buttom "IN GCN" ở Sheets"IN_GCN" thì chương trình in tuy nhiên là tên file trùng nhau và em lại phải làm thủ công đặt tên cho từng file nếu dữ liệu ít thì làm được nhưng dữ liệu nhiều thì mệt quá ạ.
Em nhờ thầy, cô và anh chị trên diễn đàn sửa giúp em Code VBA in dưới đây ạ
PHP:
Public Sub In_GCN3()
Dim k As Long
Dim DL1(), DL2(), kq(), DS(), lr As Integer, Lr1 As Long, SoThua As Long
lr = Sheet2.Range("S65000").End(xlUp).Row
DS = Sheet2.Range("S4:T" & lr)
Application.ScreenUpdating = False
    For k = 1 To UBound(DS)
        Sheet2.Range("O3") = DS(k, 1)
        Lr1 = Sheet2.Range("A65536").End(xlUp).Row
        SoThua = Lr1 - 4 + 1
        Select Case SoThua
         Case Is = 1
            Sheet9.PrintOut from:=1, To:=1, copies:=1
            Sheet8.PrintOut from:=1, To:=1, copies:=1
        Case Is = 2
            Sheet3.PrintOut from:=1, To:=1, copies:=1
            Sheet8.PrintOut from:=1, To:=1, copies:=1
        Case Is = 3
             Sheet4.PrintOut from:=1, To:=1, copies:=1
             Sheet8.PrintOut from:=1, To:=1, copies:=1
        Case Is = 4
             Sheet5.PrintOut from:=1, To:=1, copies:=1
             Sheet8.PrintOut from:=1, To:=1, copies:=1
        Case Is = 5
             Sheet6.PrintOut from:=1, To:=1, copies:=1
             Sheet8.PrintOut from:=1, To:=1, copies:=1
        Case Is = 6
             Sheet7.PrintOut from:=1, To:=1, copies:=1
             Sheet8.PrintOut from:=1, To:=1, copies:=1
        End Select
    Next k
Application.ScreenUpdating = True
End Sub
Để chương trình tự động đặt tên file khi in ra có định dạng là tên của Chủ sử dụng ở cột R chương trình sẽ xuất đồng thười 2 file của một chủ sử dụng do vậy tên fie có cấu trúc là Tên chủ sử dụng 1, Tên chủ sử dụng 2 như file ví dụ đính kèm ạ (Tên file không có dâu ạ)
Em cảm ơn Thầy, cô và anh chị trên diễn đàn nhiều nhiều ạ
 

File đính kèm

"Đặt tên file khi In ra file PDF bằng máy in ảo". Làm theo cách này để tự làm khó mình rồi, vì việc điều khiển phần mềm máy in ảo từ vba đâu phải dễ dàng.

Dùng chức năng Save As/PDF file của chính Excel ấy, khi đó đặt tên file dễ dàng. Tìm trên diễn đàn có vô số bài rồi.
 
Upvote 0
"Đặt tên file khi In ra file PDF bằng máy in ảo". Làm theo cách này để tự làm khó mình rồi, vì việc điều khiển phần mềm máy in ảo từ vba đâu phải dễ dàng.

Dùng chức năng Save As/PDF file của chính Excel ấy, khi đó đặt tên file dễ dàng. Tìm trên diễn đàn có vô số bài rồi.
Cảm ơn anh befaint em cũng thường hay hỏi và nhờ Thầy, cô và anh chị trên diễn đàn giúp đỡ và thông qua những lần giúp đỡ đó thì cũng tự viết những Code VBA đơn giản được tuy nhiên những cái tùy biến khó hơn thì em không thể làm được do vậy về việc em hỏi ở bải trên đển làm sao khi em in bằng máy in ảo hoặc Excel xuất được cho em ra file PDF và đặt tên file như em đã nêu ở bài trên thôi ạ.
nhờ anh có thể sửa code in của em bằng thủ tục này của VBA được không ạ em chưa biết tùy biến thủ tục này ạ
PHP:
ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFile, Quality:=xlQualityStandard
Em cảm ơn anh và Thầy cô trên diễn đàn nhiều ạ
 
Upvote 0
Đại khái như vầy:
Mã:
'Để trên đầu module'
Const thu_muc_luu = "D:\thu muc luu PDF\"  'Duong dan thu muc luu file pdf xuat ra'
Sub ChuyenPDF(ByVal ws As Worksheet, ByVal ten_file As String)
    Dim duong_dan As String
    duong_dan = thu_muc_luu & ten_file & ".pdf"
    'duong_dan = thu_muc_luu & ten_file & " " & Format(Date, "dd-mm-yy") & ".pdf" 'Neu them ngay thang luu file
    ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=duong_dan, Quality:=xlQualityMinimum, OpenAfterPublish:=False
End Sub
Trong sub chính của ban ở trên thì sửa lại:
Mã:
COt_R '=ten chu so huu
Select Case SoThua
    Case Is = 1
        ChuyenPDF Sheet9, COt_R (tương ứng)
 
Upvote 0
Đại khái như vầy:
Mã:
'Để trên đầu module'
Const thu_muc_luu = "D:\thu muc luu PDF\"  'Duong dan thu muc luu file pdf xuat ra'
Sub ChuyenPDF(ByVal ws As Worksheet, ByVal ten_file As String)
    Dim duong_dan As String
    duong_dan = thu_muc_luu & ten_file & ".pdf"
    'duong_dan = thu_muc_luu & ten_file & " " & Format(Date, "dd-mm-yy") & ".pdf" 'Neu them ngay thang luu file
    ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=duong_dan, Quality:=xlQualityMinimum, OpenAfterPublish:=False
End Sub
Trong sub chính của ban ở trên thì sửa lại:
Mã:
COt_R '=ten chu so huu
Select Case SoThua
    Case Is = 1
        ChuyenPDF Sheet9, COt_R (tương ứng)
Cho em làm phiền thêm chút là anh hướng dẫn là cột R (COt_R '=ten chu so huu) thì ở Cột R Sheets"IN_GCN" có cần phải cho một biến mảng không hay chỉ cần như thế này ạ
PHP:
Public Sub In_GCN3()
Dim k As Long
Dim DL1(), DL2(), kq(), DS(), lr As Integer, Lr1 As Long, SoThua As Long
lr = Sheet2.Range("S65000").End(xlUp).Row
DS = Sheet2.Range("S4:T" & lr)
Application.ScreenUpdating = False
    For k = 1 To UBound(DS)
        Sheet2.Range("O3") = DS(k, 1)
        Lr1 = Sheet2.Range("A65536").End(xlUp).Row
        SoThua = Lr1 - 4 + 1
        COt_R = ten_chu_so_huu
        Select Case SoThua
         Case Is = 1
            ChuyenPDF Sheet9, COt_R
            ChuyenPDF Sheet8, COt_R
        Case Is = 2
            ChuyenPDF Sheet3, COt_R
            ChuyenPDF Sheet8, COt_R
        Case Is = 3
             ChuyenPDF Sheet4, COt_R
            ChuyenPDF Sheet8, COt_R
        Case Is = 4
             ChuyenPDF Sheet5, COt_R
            ChuyenPDF Sheet8, COt_R
        Case Is = 5
             ChuyenPDF Sheet6, COt_R
            ChuyenPDF Sheet8, COt_R
        Case Is = 6
             ChuyenPDF Sheet7, COt_R
            ChuyenPDF Sheet8, COt_R
        End Select
    Next k
Application.ScreenUpdating = True
End Sub

Sub ChuyenPDF(ByVal ws As Worksheet, ByVal ten_file As String)
    Const thu_muc_luu = "D:\thu muc luu PDF\"  'Duong dan thu muc luu file pdf xuat ra'
    Dim duong_dan As String
    duong_dan = thu_muc_luu & ten_file & ".pdf"
    'duong_dan = thu_muc_luu & ten_file & " " & Format(Date, "dd-mm-yy") & ".pdf" 'Neu them ngay thang luu file
    ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=duong_dan, Quality:=xlQualityMinimum, OpenAfterPublish:=False
End Sub
Mong được anh befaint giúp đỡ ạ
Em cảm ơn nhiều ạ
 
Upvote 0
Em chào Thầy, cô và anh chị trên diễn đàn GPE
E viết một chương trình in Giấy chứng nhận quyền sử dụng đất và khi em bấm vào Buttom "IN GCN" ở Sheets"IN_GCN" thì chương trình in tuy nhiên là tên file trùng nhau và em lại phải làm thủ công đặt tên cho từng file nếu dữ liệu ít thì làm được nhưng dữ liệu nhiều thì mệt quá ạ.
Em nhờ thầy, cô và anh chị trên diễn đàn sửa giúp em Code VBA in dưới đây ạ
PHP:
Public Sub In_GCN3()

Để chương trình tự động đặt tên file khi in ra có định dạng là tên của Chủ sử dụng ở cột R chương trình sẽ xuất đồng thười 2 file của một chủ sử dụng do vậy tên fie có cấu trúc là Tên chủ sử dụng 1, Tên chủ sử dụng 2 như file ví dụ đính kèm ạ (Tên file không có dâu ạ)
Em cảm ơn Thầy, cô và anh chị trên diễn đàn nhiều nhiều ạ[/QUOTE]

Ở Đồng Nai thì dùng phần mềm để in giấy, nơi em không có phần mềm sao phải dùng Excel.

Nếu sử dụng Excel thì anh góp ý cho em thế này:
1/ Mặt giấy chứng nhận QSDĐ mặt 1 - 4 chỉ cần 1 sheet là đủ.
2/ Mặt 2 - 3 sảy ra 2 trường hợp:
a. In mỗi thửa đất là 1 giấy: Dùng riêng 1 sheet với 1 nút in hàng loạt nhiều giấy cùng lúc (không nên để nhiều sheet làm gì).
b. In nhiều thửa đất chung 1 giấy: Dùng riêng 1 sheet với 1 nút in.
3/ Sau khi ký giấy đóng dấu xong thì mới Scan giấy để lưu chứ không ai lưu File như em làm.

Nếu đồng ý theo hướng này thì anh sẽ làm giúp cho.
 
Upvote 0
Ở Đồng Nai thì dùng phần mềm để in giấy, nơi em không có phần mềm sao phải dùng Excel.

Nếu sử dụng Excel thì anh góp ý cho em thế này:
1/ Mặt giấy chứng nhận QSDĐ mặt 1 - 4 chỉ cần 1 sheet là đủ.
2/ Mặt 2 - 3 sảy ra 2 trường hợp:
a. In mỗi thửa đất là 1 giấy: Dùng riêng 1 sheet với 1 nút in hàng loạt nhiều giấy cùng lúc (không nên để nhiều sheet làm gì).
b. In nhiều thửa đất chung 1 giấy: Dùng riêng 1 sheet với 1 nút in.
3/ Sau khi ký giấy đóng dấu xong thì mới Scan giấy để lưu chứ không ai lưu File như em làm.

Nếu đồng ý theo hướng này thì anh sẽ làm giúp cho.
Em rất cảm ơn góp ý của anh be09 do em mày mò làm Excel và thấy được tiện ích rất lớn từ VBA nên em muốn áp dụng để làm công việc của mình do vậy khi em thực hiện và mong gom lại chỉ thực hiện in trên 1 Sheet giống như anh nói nhưng em không biết làm thế nào vì cấu trúc của mỗi điều kiện và số thửa khác nhau ạ
 
Upvote 0
Em rất cảm ơn góp ý của anh be09 do em mày mò làm Excel và thấy được tiện ích rất lớn từ VBA nên em muốn áp dụng để làm công việc của mình do vậy khi em thực hiện và mong gom lại chỉ thực hiện in trên 1 Sheet giống như anh nói nhưng em không biết làm thế nào vì cấu trúc của mỗi điều kiện và số thửa khác nhau ạ
Anh thấy cấu trúc sheet DATA giống như trong phần mềm xuất ra vậy? Trong File PDF số vào sổ lấy ở sheet DATA vào phải không? sao cho số lộn xộn không có trật tự gì hết vậy.
Điều kiện và số thửa khác nhau không quan trọng (anh có cách làm của anh), có gì trong tuần này anh sẽ làm giúp cho, nội dung theo góp ý bài 6.
 
Upvote 0
Anh thấy cấu trúc sheet DATA giống như trong phần mềm xuất ra vậy? Trong File PDF số vào sổ lấy ở sheet DATA vào phải không? sao cho số lộn xộn không có trật tự gì hết vậy.
Điều kiện và số thửa khác nhau không quan trọng (anh có cách làm của anh), có gì trong tuần này anh sẽ làm giúp cho, nội dung theo góp ý bài 6.
Em cảm ơn anh be09 nhiều nhé tất cả dữ liệu lấy sang để in đều lấy tứ Sheets"DATA" anh nhé
 
Upvote 0
Em cảm ơn anh be09 nhiều nhé tất cả dữ liệu lấy sang để in đều lấy tứ Sheets"DATA" anh nhé
Để anh hiểu vấn đề thì em cần nêu rõ quy trình em cần thực hiện, ví dụ:
1/ 1 sheet chứa dữ liệu (File em là sheet DATA), dữ liệu này từ phần mềm, bản đồ xuất ra hoặc File sổ mục kê (do đo đạc làm). Anh cần File với 1 sheet chứa dữ liệu có tiêu đề chuẩn nhất, vì sheet DATA của em đã có bổ sung phần cấp giấy.
2/ Lập danh sách cấp giấy dựa vào (1/ 1 sheet chứa dữ liệu) của em là sheet IN_GCN, theo anh sheet này nên đặt là DS_CapGiay, em nên chừa trống bao nhiêu dòng để thêm phần nội dung danh sách ở phí trên để sau khi in giấy xong thì in danh sách này kèm tờ trình để ký cấp giấy.
3/ Sau khi in giấy xong thì cần lưu dữ liệu vào 1 sheet theo dõi cấp giấy để khi cần thì tổng hợp báo cáo.

Theo anh thì nên có cột đợt trình để còn biết đợt nào trình có bao nhiêu giấy, có bao nhiệu hộ, ngày tháng ký cấp.
 
Upvote 0
Để anh hiểu vấn đề thì em cần nêu rõ quy trình em cần thực hiện, ví dụ:
1/ 1 sheet chứa dữ liệu (File em là sheet DATA), dữ liệu này từ phần mềm, bản đồ xuất ra hoặc File sổ mục kê (do đo đạc làm). Anh cần File với 1 sheet chứa dữ liệu có tiêu đề chuẩn nhất, vì sheet DATA của em đã có bổ sung phần cấp giấy.
2/ Lập danh sách cấp giấy dựa vào (1/ 1 sheet chứa dữ liệu) của em là sheet IN_GCN, theo anh sheet này nên đặt là DS_CapGiay, em nên chừa trống bao nhiêu dòng để thêm phần nội dung danh sách ở phí trên để sau khi in giấy xong thì in danh sách này kèm tờ trình để ký cấp giấy.
3/ Sau khi in giấy xong thì cần lưu dữ liệu vào 1 sheet theo dõi cấp giấy để khi cần thì tổng hợp báo cáo.

Theo anh thì nên có cột đợt trình để còn biết đợt nào trình có bao nhiêu giấy, có bao nhiệu hộ, ngày tháng ký cấp.
Em cảm ơn anh
 
Upvote 0
Trong File của em có những vấn đề sau:
1/ Sao có 2 cột số vào sổ (cột Y, AM), theo quy định số vào sổ là duy nhất.
2/ Sao có 2 cột Thời hạn sử dụng (cột AA, AO), thời hạn ghi ở 2 cột là khác nhau, theo quy định Thời hạn sử dụng là duy nhất.
3/ Cấp nhiều giấy cho thửa 20, 66,69 tờ bản đồ số 66 Thời hạn sử dụng lại khác nhau là sao? Xem hình.
4/ File của em nên có cột loại cấp để phân ra cái nào cấp mới, cái nào cấp đổi, cái nào cấp lại.

A_CG.JPG
 
Upvote 0
Trong File của em có những vấn đề sau:
1/ Sao có 2 cột số vào sổ (cột Y, AM), theo quy định số vào sổ là duy nhất.
2/ Sao có 2 cột Thời hạn sử dụng (cột AA, AO), thời hạn ghi ở 2 cột là khác nhau, theo quy định Thời hạn sử dụng là duy nhất.
3/ Cấp nhiều giấy cho thửa 20, 66,69 tờ bản đồ số 66 Thời hạn sử dụng lại khác nhau là sao? Xem hình.
4/ File của em nên có cột loại cấp để phân ra cái nào cấp mới, cái nào cấp đổi, cái nào cấp lại.

View attachment 193619
Em cảm ơn anh be09 nhiều trong file em gửi có 2 cột là do một cột là của GCN cũ em nhập vào và cột còn lại là thời hạn sử dụng mới anh ạ
Còn thông tin thời hạn sử dụng khác nhau thì là do giấy chứng nhận cũ anh ạ vì nó được gộp từ nhiều GCN khác nhau
Còn về phân biệt cấp mới, cấp đổi, biến động em đã có mã ở cột mã cấp anh ạ Ví dụ Mã 1 là cấp mới, mã 2 là cấp đổi, mã 3 là nhận tặng cho, mã 4 là nhận thừa kế quyền sử dụng đất anh ạ
 
Upvote 0
Web KT

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

Back
Top Bottom