สอบถาม CodeVB สั่งพิมพ์เป็น PDF จากหลายชีทให้เรียงต่อกันในไฟล์เดียว
Posted: Wed Jun 21, 2023 3:08 pm
จากไฟล์ที่แนบ
ต้องการ สั่งพิมพ์เป็น PDF จากหลายชีทให้เรียงต่อกันในไฟล์เดียว ด้วยโค๊ด
ขอถามว่าจำนวนชีทที่มีอยู่ในไฟล์นั้น จะมีผลต่อการทำงานให้ช้าหรือเร็วขึ้นหรือไม่ครับ
(จากไฟล์จริง ๆ มี 30 ชีท สั่งพิมพ์แค่สองหน้าต่อกัน แต่ใช้เวลานานเกือบหนึ่งนาที)
ส่วนไฟล์ที่แนบมานี้ สร้างขึ้นมาใหม่ จะเร็วกว่าไฟล์จริงอยู่มากพอสมควร
ต้องการ สั่งพิมพ์เป็น PDF จากหลายชีทให้เรียงต่อกันในไฟล์เดียว ด้วยโค๊ด
Code: Select all
Sub PrintToPDF()
Dim sFolderPath As String
Dim Path As String
Dim FName As String
On Error Resume Next
With ActiveSheet.PageSetup
.Zoom = 100
End With
Application.ScreenUpdating = False
sFolderPath = "C:\" & Range("A18").Value
If Dir(sFolderPath, vbDirectory) = "" Then
MkDir sFolderPath
End If
sFolderPath = "C:\" & Range("A18").Value
If Dir(sFolderPath, vbDirectory) = "" Then
MkDir sFolderPath
End If
sFolderPath = "C:\" & Range("A18").Value & "\" & "PDF"
If Dir(sFolderPath, vbDirectory) = "" Then
MkDir sFolderPath
End If
FName = ActiveSheet.Range("A19") & ".PDF"
Application.DisplayAlerts = False
ActiveWorkbook.ExportAsFixedFormat xlTypePDF, from:=1, to:=2, Filename:=sFolderPath & "\" & FName
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox "ส่งออกไฟล์ไปไว้ที " & "C:\" & Range("A18").Value & "\" & "PDF" & "\" & FName
End Sub
(จากไฟล์จริง ๆ มี 30 ชีท สั่งพิมพ์แค่สองหน้าต่อกัน แต่ใช้เวลานานเกือบหนึ่งนาที)
ส่วนไฟล์ที่แนบมานี้ สร้างขึ้นมาใหม่ จะเร็วกว่าไฟล์จริงอยู่มากพอสมควร