Chuyển tệp Excel sang tệp PDF bằng VBA

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

thang_nguyen1

Thành viên hoạt động
Tham gia
6/10/16
Bài viết
136
Được thích
8
Mình có vấn đề này mong mọi người giúp đỡ. Mình muốn chuyển tệp Excel sang PDF nhưng mà khi chuyển nó bị cắt ra từng mảng nhỏ. Vì tính chất công việc mình làm thủ công lên lâu. Vậy các bạn giúp mình viết lệnh chuyển sang PDF giữ nguyên được cả file báo cáo mà không bị cắt ra từng mảng. mình gửi file lên đây chỉ là bộ khung thôi ạ. Vì tính chất bảo mật của công ty, mong các bạn thông cảm. Chúc mọi người có một ngày chủ nhật thật vui vẻ!
 

File đính kèm

  • File.xlsx
    16.5 KB · Đọc: 10
Mình có vấn đề này mong mọi người giúp đỡ. Mình muốn chuyển tệp Excel sang PDF nhưng mà khi chuyển nó bị cắt ra từng mảng nhỏ. Vì tính chất công việc mình làm thủ công lên lâu. Vậy các bạn giúp mình viết lệnh chuyển sang PDF giữ nguyên được cả file báo cáo mà không bị cắt ra từng mảng. mình gửi file lên đây chỉ là bộ khung thôi ạ. Vì tính chất bảo mật của công ty, mong các bạn thông cảm. Chúc mọi người có một ngày chủ nhật thật vui vẻ!
Sao không cho dữ liệu giả lập vào, nhìn thấy file trỗng rỗng nên bỏ qua luôn.
 
Upvote 0
Mình có vấn đề này mong mọi người giúp đỡ. Mình muốn chuyển tệp Excel sang PDF nhưng mà khi chuyển nó bị cắt ra từng mảng nhỏ. Vì tính chất công việc mình làm thủ công lên lâu. Vậy các bạn giúp mình viết lệnh chuyển sang PDF giữ nguyên được cả file báo cáo mà không bị cắt ra từng mảng. mình gửi file lên đây chỉ là bộ khung thôi ạ. Vì tính chất bảo mật của công ty, mong các bạn thông cảm. Chúc mọi người có một ngày chủ nhật thật vui vẻ!
Thử code này xem sao? (code copy trên mạng)
Mã:
Sub ExportAsPDF()

Dim FolderPath As String

FolderPath = Sheets("NG").Range("D1").Value

   Sheets(Array("NG")).Select
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FolderPath & "\" & "Gì Gì đó.pdf", _
        openafterpublish:=False, ignoreprintareas:=False
   MsgBox "Ban da chuyen doi thanh cong file BAO CAO sang PDF!"
End Sub
 
Upvote 0
Thử code này xem sao? (code copy trên mạng)
Mã:
Sub ExportAsPDF()

Dim FolderPath As String

FolderPath = Sheets("NG").Range("D1").Value

   Sheets(Array("NG")).Select
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FolderPath & "\" & "Gì Gì đó.pdf", _
        openafterpublish:=False, ignoreprintareas:=False
   MsgBox "Ban da chuyen doi thanh cong file BAO CAO sang PDF!"
End Sub
Sao lại có dòng này bạn: Sheets(Array("NG")).Select ?
 
Upvote 0
Thử code này xem sao? (code copy trên mạng)
Mã:
Sub ExportAsPDF()

Dim FolderPath As String

FolderPath = Sheets("NG").Range("D1").Value

   Sheets(Array("NG")).Select
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FolderPath & "\" & "Gì Gì đó.pdf", _
        openafterpublish:=False, ignoreprintareas:=False
   MsgBox "Ban da chuyen doi thanh cong file BAO CAO sang PDF!"
End Sub
Code bị lỗi bạn ơi , như là lỗi khi lưu file PDF
 

File đính kèm

  • NG1.PNG
    NG1.PNG
    11.3 KB · Đọc: 10
  • NG2.PNG
    NG2.PNG
    12.6 KB · Đọc: 10
Upvote 0
Sao lại có dòng này bạn: Sheets(Array("NG")).Select ?
Cảm ơn anh đã xem bài. Dòng đó thừa do quên xóa. Lúc trước tôi dùng là tôi chỉ copy 1 phần của sheet nguồn và paste vào sheet mẫu và sau đó xử lý 1 số ô của sheet mẫu sau đó mới chuyển sang tệp PDF.
Bài đã được tự động gộp:

Code bị lỗi bạn ơi , như là lỗi khi lưu file PDF
Bạn đã để tên đường dẫn lưu file PDF này vào ô D1 chưa?

ví dụ D1=C:\Users\Admin\Downloads\
 
Upvote 0
Cảm ơn anh đã xem bài. Dòng đó thừa do quên xóa. Lúc trước tôi dùng là tôi chỉ copy 1 phần của sheet nguồn và paste vào sheet mẫu và sau đó xử lý 1 số ô của sheet mẫu sau đó mới chuyển sang tệp PDF.
Bài đã được tự động gộp:


Bạn đã để tên đường dẫn lưu file PDF này vào ô D1 chưa?

ví dụ D1=C:\Users\Admin\Downloads\
Mình không rõ bạn có thể giúp mình viết lại dòng lệnh được không?
 
Upvote 0
Mình không rõ bạn có thể giúp mình viết lại dòng lệnh được không?
Đây là địa chỉ đường dẫn đến thư mục (Folder) mà bạn muốn lưu file pdf mới được tạo ra trên máy tính của bạn, bạn phải tự làm vì địa chỉ đó nằm trên máy tính của bạn mà.
 
Lần chỉnh sửa cuối:
Upvote 0
em cũng đóng góp chút xíu ạ.
Anh phải sửa đúng địa chỉ mà file pdf xuất ra vào code nhe anh.
Bài đã được tự động gộp:

em tích hợp code của anh HUONGHCKT vào luôn nè.
 

File đính kèm

  • Screenshot 2023-08-14 185416.png
    Screenshot 2023-08-14 185416.png
    194.5 KB · Đọc: 8
  • chuyen thanh pdf.xlsb
    20.9 KB · Đọc: 4
  • chuyen thanh pdf HUONGHCKT.xlsb
    25.2 KB · Đọc: 3
Upvote 0
Mình muốn chuyển tệp Excel sang PDF nhưng mà khi chuyển nó bị cắt ra từng mảng nhỏ.
Tôi thấy do bạn không biết thiết lập trang in chứ trường hợp này không liên quan gì đến lập trình cả. Vùng in rộng thì bạn chỉ có 2 lựa chọn là in tỷ lệ nhỏ cho vừa khổ giấy của bạn hoặc chọn khổ giấy to hơn.
 
Upvote 0
Tôi thấy do bạn không biết thiết lập trang in chứ trường hợp này không liên quan gì đến lập trình cả. Vùng in rộng thì bạn chỉ có 2 lựa chọn là in tỷ lệ nhỏ cho vừa khổ giấy của bạn hoặc chọn khổ giấy to hơn.
Cái ý mình tự chỉnh bằng tay được còn lệnh để chuyển sang file PDF mình chưa rõ. Mong bạn giúp đỡ ạ
 
Upvote 0
Cái ý mình tự chỉnh bằng tay được còn lệnh để chuyển sang file PDF mình chưa rõ. Mong bạn giúp đỡ ạ
Code xuất PDF thì chỉ 1 dòng như vầy thôi.
Mã:
Sub SaveAsPDF()
   Sheets("NG").ExportAsFixedFormat 0, ThisWorkbook.FullName & ".pdf", 0, True, False, , , True
End Sub
 
Upvote 0
Upvote 0
Web KT

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

Back
Top Bottom