Nhờ code tự động xuất file PDF

lth1985

Yêu THVBA
Chào anh em trên diễn đàn!
Em có file gồm nhiều sheet, em sẽ copy sheet này ra thành 1 file mới vào 1 thư mục riêng.
Và em muốn tự động xuất pdf file này:
- Vào luôn thư mục cùng file exel mới này, không phải chọn thư mục nữa
- Tên như file exel mới này luôn
- Chỉ xuất trang 1
Kính nhờ anh em viết hộ code trên file gốc ban đầu được không ạ?
 
File có sheet 1, sheet 2, sheet 3.
Xin hỏi là muốn xuất sheet nào ra pdf?
File pdf được cất chung folder chứa file excel?

Chỉ xuất 1 trang, tức là dữ liệu sheet 1 chả hạn khi xuất ra pdf, nó có thể có nhiều trang, thì chỉ lấy trang 1?
300k ủng hộ diễn đàn, em nhận code. Có điều bác upload file excel demo lên google driver và kéo link về đây.
Nếu có demo cụ thể file pdf như nào tương ứng với dữ liệu demo excel thì càng tốt. Vì nói là in thì cũng có nhiều chế độ in lắm.
 

lth1985

Yêu THVBA
Em gửi link file ạ:
Em để file gốc này ở thư mục ngoài gốc, xong tạo 1 thư mục con trong này rồi copy sheet Đơn hàng vào đó rồi xuất file pdf trong đó luôn ạ
Ảnh các bước của em đây ạ:
, ,
 
Từ sau để upload ảnh lên diễn đàn bạn làm theo hướng dẫn ở đây, vừa đỡ vất vả cho bạn.
Mà người khác coi ảnh được luôn, không phải click vô link.

Bạn cần đăng nhập để thấy hình ảnh


Bạn cần đăng nhập để thấy hình ảnh


Bạn cần đăng nhập để thấy hình ảnh

Nếu bạn đồng ý ủng hộ diễn đàn 300k thì gửi vào đây.
Admin xác nhận có tiền ủng hộ, mình sẽ bắt tay vào code cho bạn ngay.
Thông tin ủng hộ diễn đàn:
Tài khoản Ngân hàng thương mại cổ phần Ngoại thương Việt Nam Vietcombank, số tài khoản: 0011003264055
Chi nhánh Quận Hoàn Kiếm, Hà Nội.
Chủ tài khoản: Phạm Minh Hoàng.
 

lth1985

Yêu THVBA
Từ sau để upload ảnh lên diễn đàn bạn làm theo hướng dẫn ở đây, vừa đỡ vất vả cho bạn.
Mà người khác coi ảnh được luôn, không phải click vô link.

Bạn cần đăng nhập để thấy hình ảnh


Bạn cần đăng nhập để thấy hình ảnh


Bạn cần đăng nhập để thấy hình ảnh

Nếu bạn đồng ý ủng hộ diễn đàn 300k thì gửi vào đây.
Admin xác nhận có tiền ủng hộ, mình sẽ bắt tay vào code cho bạn ngay.
Thông tin ủng hộ diễn đàn:
Tài khoản Ngân hàng thương mại cổ phần Ngoại thương Việt Nam Vietcombank, số tài khoản: 0011003264055
Chi nhánh Quận Hoàn Kiếm, Hà Nội.
Chủ tài khoản: Phạm Minh Hoàng.
Cảm ơn các bác. em cũng có code rồi nhưng không biết chỉnh nó lưu luôn vào thư mục cùng file mà toàn phải chọn thư mục từ đầu
 

NhanSu

SMod
Thành viên BQT
@lth1985 nếu bạn đã code được rồi thì post code của bạn lên, mọi người sẽ giúp save vào đúng vị trí.
 

lth1985

Yêu THVBA
@lth1985 nếu bạn đã code được rồi thì post code của bạn lên, mọi người sẽ giúp save vào đúng vị trí.
Mã:
Sub PrintSelectionToPDF()
    Dim invoiceRng As Range, Link$, i&
    Dim strfile As String
    Dim myfile As Variant
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Donhang")
    '===============================FORUM Tuthocvba.net========================
    With Application.FileDialog(msoFileDialogFolderPicker)
        
        .AllowMultiSelect = False

        .Title = "Select folder"
        If .Show = True Then
            Link = .SelectedItems(1)
        End If
    End With
    If Trim(CStr(Link)) = "" Then Exit Sub
    Link = Link & Application.PathSeparator
    '===============================END========================================
    'Link = ThisWorkbook.Path & "\"
    Set invoiceRng = ws.Range("A1:J35")
    Application.EnableEvents = False
    For i = 1 To 1
        ws.Range("N1") = i
        strfile = "Donhang" & "_" & i & ".pdf"
        invoiceRng.ExportAsFixedFormat Type:=xlTypePDF, _
                Filename:=Link & strfile, _
                Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                IgnorePrintAreas:=False, OpenAfterPublish:=False
    Next
End Sub
Giờ mình cần sửa nó lưu luôn vào thư mục cùng file mới, và tên tự động trùng với file mới luôn. Vì mỗi lúc mình đặt 1 tên file exel mới khác nhau
 

PTHhn

Yêu THVBA như điếu đổ
Em lại tưởng bác tự code. Cái code này thì cũng là các anh chị VIP trên diễn đàn đã từng code, chứ có phải bác code đâu.
Ủng hộ diễn đàn tí cũng được bác ạ.
 
Giờ mình cần sửa nó lưu luôn vào thư mục cùng file mới, và tên tự động trùng với file mới luôn. Vì mỗi lúc mình đặt 1 tên file exel mới khác nhau
Vậy thử thế này coi
Mã:
Sub PrintSelectionToPDF()
    Dim sPath$, Ws As Worksheet, InvoiceRng, i&, Strfile$
    Set Ws = ThisWorkbook.Sheets("DonHang")
    sPath = ThisWorkbook.Path & "\"
    Set InvoiceRng = Ws.Range("A1:J35")
    Application.EnableEvents = False
        Ws.Range("N1") = 1
        Strfile = "Donhang" & "_" & Ws.Range("N1").value  & ".pdf"
        InvoiceRng.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & Strfile
    Application.EnableEvents = True
End Sub
 

lth1985

Yêu THVBA
Vậy thử thế này coi
Mã:
Sub PrintSelectionToPDF()
    Dim sPath$, Ws As Worksheet, InvoiceRng, i&, Strfile$
    Set Ws = ThisWorkbook.Sheets("DonHang")
    sPath = ThisWorkbook.Path & "\"
    Set InvoiceRng = Ws.Range("A1:J35")
    Application.EnableEvents = False
        Ws.Range("N1") = 1
        Strfile = "Donhang" & "_" & Ws.Range("N1").value  & ".pdf"
        InvoiceRng.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & Strfile
    Application.EnableEvents = True
End Sub
Cảm ơn bác hỗ trợ nhiều, em edit như này ok rồi ạ
Mã:
Option Explicit
Sub PrintSelectionToPDF()
    Dim invoiceRng As Range, Link$, i&
    Dim strfile As String
    Dim myfile As Variant
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Donhang")
    Link = ThisWorkbook.Path & "\"
    Set invoiceRng = ws.Range("A1:J35")
    Application.EnableEvents = False
    For i = 1 To 1
        ws.Range("N1") = i
        strfile = ThisWorkbook.Name & ".pdf"
        invoiceRng.ExportAsFixedFormat Type:=xlTypePDF, _
                Filename:=Link & strfile, _
                Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                IgnorePrintAreas:=False, OpenAfterPublish:=False
    Next
End Sub
 

lth1985

Yêu THVBA
Vậy thử thế này coi
Mã:
Sub PrintSelectionToPDF()
    Dim sPath$, Ws As Worksheet, InvoiceRng, i&, Strfile$
    Set Ws = ThisWorkbook.Sheets("DonHang")
    sPath = ThisWorkbook.Path & "\"
    Set InvoiceRng = Ws.Range("A1:J35")
    Application.EnableEvents = False
        Ws.Range("N1") = 1
        Strfile = "Donhang" & "_" & Ws.Range("N1").value  & ".pdf"
        InvoiceRng.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & Strfile
    Application.EnableEvents = True
End Sub
Bác cho em hỏi ngu nốt cái này. Em lưu code vào file Personal.xlsb để sử dụng cho nhiều file khác nhưng không chạy được, nó chỉ chạy mã cho đúng file Personal đó thôi. Giờ phải làm ntn ạ?
Bạn cần đăng nhập để thấy hình ảnh
 

giaiphapvba

Administrator
Thành viên BQT
Sau đây tôi tiến hành ban nick chủ topic do quote cả bài viết dù đã có cảnh cáo nhắc nhở trước đó.
Thời gian ban nick: 3 tháng.
 
Top