Xuất hàng loạt từ Excel sang PDF trong 1 file

Liên hệ QC

Miccpro

Thành viên thường trực
Tham gia
9/12/10
Bài viết
236
Được thích
10
Em sưu tầm được trên mạng File xuất excel sang PDF. Sau khi xuất xong có thể dùng Web hoặc Phần mềm trung gian để gộp tất cả File PDF đó thành 1 File PDF duy nhất. Mong muốn của em là không dùng phần mềm trung gian mà xử lý bằng VBA để xuất ra 1 File duy nhất luôn ạ. Em xin cảm ơn
 

File đính kèm

  • Ung-dung-Spinner-xuat-PDF-03.xlsm
    31.9 KB · Đọc: 172
Góp ý cho bạn:
1/ Tìm bài viết với từ khóa In phiếu thu chi hàng loạt, code sẽ ngắn gọn hơn.
2/ Thay gì chọn máy in thì bạn chọn in PDF.
Minh đã in tự động với code đó được rồi.nhưng hiện tại nó xuất 1 trang in ra 1 file pdf. nếu nối thì bất tiện nên mục đích của mình muốn xuất tất cả ra 1 file pdf thôi nên nhờ các bạn chỉnh hộ code. Cảm ơn các bạn rất nhiều!

Private Function xuatpdf(ByVal FileName As String) As String
Dim n As Long
Dim sFolder As String, sFile As String, sExt As String, sTmpFile As String
sTmpFile = FileName
With CreateObject("Scripting.FileSystemObject")
sExt = .GetExtensionName(FileName)
sFolder = .GetParentFolderName(FileName)
sFile = .GetBaseName(FileName)
Do While .FileExists(sTmpFile) = True
n = n + 1
sTmpFile = .BuildPath(sFolder, sFile & "(" & n & ")." & sExt)
Loop
xuatpdf = sTmpFile
End With
End Function
Sub pdf()
Dim filepdf As String
Dim a1, a2, i, j&
a1 = Sheet2.Range("M19").Value
a2 = Sheet2.Range("M20").Value

If a1 < a2 Then

For i = a1 To a2
Sheet2.Range("L16").Value = (i - 1) * 10 + 1
filepdf = xuatpdf(ThisWorkbook.Path & "\" & i & ".pdf")
Sheet2.ExportAsFixedFormat xlTypePDF, filepdf

Next
End If
End Sub
Bài đã được tự động gộp:

Excel 2007 không hỗ trợ xuất PDF. Bạn tìm và cài đặt thêm phần mềm SaveAsPDFandXPS là được.
Minh đã in tự động với code đó được rồi.nhưng hiện tại nó xuất 1 trang in ra 1 file pdf. nếu nối thì bất tiện nên mục đích của mình muốn xuất tất cả ra 1 file pdf thôi nên nhờ các bạn chỉnh hộ code. Cảm ơn các bạn rất nhiều!

Private Function xuatpdf(ByVal FileName As String) As String
Dim n As Long
Dim sFolder As String, sFile As String, sExt As String, sTmpFile As String
sTmpFile = FileName
With CreateObject("Scripting.FileSystemObject")
sExt = .GetExtensionName(FileName)
sFolder = .GetParentFolderName(FileName)
sFile = .GetBaseName(FileName)
Do While .FileExists(sTmpFile) = True
n = n + 1
sTmpFile = .BuildPath(sFolder, sFile & "(" & n & ")." & sExt)
Loop
xuatpdf = sTmpFile
End With
End Function
Sub pdf()
Dim filepdf As String
Dim a1, a2, i, j&
a1 = Sheet2.Range("M19").Value
a2 = Sheet2.Range("M20").Value

If a1 < a2 Then

For i = a1 To a2
Sheet2.Range("L16").Value = (i - 1) * 10 + 1
filepdf = xuatpdf(ThisWorkbook.Path & "\" & i & ".pdf")
Sheet2.ExportAsFixedFormat xlTypePDF, filepdf

Next
End If
End Sub
 

File đính kèm

  • BIEU XUAT PDF.xls
    3.1 MB · Đọc: 31
  • BIEU XUAT PDF.xls
    3.1 MB · Đọc: 24
Upvote 0
Bạn dùng code đơn giản này chỉnh sửa lại theo yêu cầu

Mã:
Sub Macro1()   
    Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
    'Sheet1, sheet2, sheet3 la ten cac sheet muon in hang loat
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        ThisWorkbook.FullName, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
End Sub
báo lỗi dòng này: Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select làm sao bây giờ các bác
 
Upvote 0
Upvote 0
Đã có cửa sổ đặt tên file thì cứ đặt tên trên đó chứ ai lại đặt tự động theo kiểu đó.
Tôi bổ sung cho bạn cảnh báo lưu trùng tên.
anh ơi cho e nhớ vs ạ. e, đang bị vướng là e đang làm lại file HSCLCTHANOI để xuất sheet 3 vs sheet 4 với chỉ số chạy ra pdf thành 1 file mà e chưa làm được ạ, e có xem mấy file vs mấy code của các anh chị mà e chưa làm được anh, hướng dẫn thêm cho e vs ạ, kiểu xuất pdf như file lylichcoc ạ
e cảm ơn anh ạ :)
Bài đã được tự động gộp:

anh ơi cho e nhớ vs ạ. e, đang bị vướng là e đang làm lại file HSCLCTHANOI để xuất sheet 3 vs sheet 4 với chỉ số chạy ra pdf thành 1 file mà e chưa làm được ạ, e có xem mấy file vs mấy code của các anh chị mà e chưa làm được anh, hướng dẫn thêm cho e vs ạ, kiểu xuất pdf như file lylichcoc ạ
e cảm ơn anh ạ :)


Option Explicit

Sub InHangLoat()
Dim I As Integer, m As Integer
Dim TenCoc As String, lylichcoc As String
m = Range("DT.NK!B" & Cells.Rows.Count).End(xlUp).Row
For I = 13 To m
TenCoc = Range("DT.NK!B" & I).FormulaR1C1
With Sheets("2. NK")
.Range("R2").FormulaR1C1 = TenCoc
End With
lylichcoc = "lylichcoc" & I & ".pdf"

ThisWorkbook.Sheets(Array("2. NK", "3. Dia Chat", "4. PTDBT")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"D:\" & lylichcoc, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
Next I
End Sub
code chạy file lylichcoc
 

File đính kèm

  • HSCLCTHANOI.xlsm
    50.7 KB · Đọc: 23
  • lylichcoc.xlsx
    2.3 MB · Đọc: 23
Lần chỉnh sửa cuối:
Upvote 0
Chào các bác, các bác giúp em vấn đề này với ạ.
Em muốn xuất hàng loạt file excel ở sheet "PYCK95" ra file pdf rời rạc, dữ liệu ở sheet "PYCK95" được lấy từ sheet "ML" sang. File pdf sẽ lưu dưới định dạng "Cell C7".pdf
Bác nào biết chỉ giáo em với ạ. Em xin cảm ơn.
 

File đính kèm

  • 1. Test xuat pdf.xlsm
    1.6 MB · Đọc: 13
Upvote 0
Web KT

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

Back
Top Bottom