hungtin1997
Dậm chân tại chỗ là đi lùi
- Tham gia
- 16/10/20
- Bài viết
- 101
- Được thích
- 54
- Giới tính
- Nam
Chào mọi người, hiện tại công việc yêu cầu em phải in 1 sheet cố định của nhiều file Excel sang PDF
Mò mẫm trên mạng và chỉnh sửa "tè le" thì được một đoạn code cũng đáp ứng được nhưng tốc độ khá chậm.
Không biết là do code hay do tiến trình in qua PDF buộc phải có tốc độ đó. Nhờ mọi người giúp em tối ưu đoạn code để được nhanh hơn, quan trọng là học hỏi thêm về cách tối ưu.
Các anh/chị đừng quan tâm chuyện em màu mè thêm mấy cái thông báo lằng nhằng, vấn đề ở đây là chỗ thực thi công việc thôi.
Em cảm ơn mọi người
Mò mẫm trên mạng và chỉnh sửa "tè le" thì được một đoạn code cũng đáp ứng được nhưng tốc độ khá chậm.
Không biết là do code hay do tiến trình in qua PDF buộc phải có tốc độ đó. Nhờ mọi người giúp em tối ưu đoạn code để được nhanh hơn, quan trọng là học hỏi thêm về cách tối ưu.
Các anh/chị đừng quan tâm chuyện em màu mè thêm mấy cái thông báo lằng nhằng, vấn đề ở đây là chỗ thực thi công việc thôi.
Em cảm ơn mọi người
Mã:
Sub inpdf()
Dim Chonfile As Variant
Dim i As Integer
Dim openfile As Workbook
Dim sh As Integer
Dim wb As Workbook
Dim tmr As Double
Set wb = ActiveWorkbook
Set ws = ThisWorkbook.ActiveSheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error GoTo ErrorHandler
sh = InputBox("STT sheet can copy", "Thông Báo!")
Chonfile = Application.GetOpenFilename(Title:="Chon file", filefilter:="Excel file (*.xls*), *.xls*", MultiSelect:=True)
tmr = Timer()
Sheets.Add After:=ActiveSheet
For i = 1 To UBound(Chonfile)
Set openfile = Workbooks.Open(Chonfile(i))
wb.ActiveSheet.Range("A" & i).Value = openfile.Name
openfile.Sheets(sh).ExportAsFixedFormat Type:=xlTypePDF, Filename:=Left(Right(openfile.Name, Len(openfile.Name) - 6), 8), Quality:=xlQualityStandard, _
IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=True
openfile.Close False
Next
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.Assistant.DoAlert "THÔNG BÁO", ChrW(272) & "ã in " & UBound(Chonfile) & " file trong " & Left(Timer() - tmr, 4) & " giây" & vbCrLf & "Cùng " & ChrW(273) & ChrW(432) & ChrW(7901) & _
"ng d" & ChrW(7851) & "n v" & ChrW(7899) & "i file Excel", 0, 4, 0, 0, 0
Exit Sub
ErrorHandler:
Application.Assistant.DoAlert "THÔNG BÁO", "Ch" & ChrW(432) & "a " & ChrW(273) & ChrW(7911) _
& " " & ChrW(273) & "i" & ChrW(7873) & "u ki" & ChrW(7879) & "n " & ChrW( _
273) & ChrW(7875) & " In", 0, 4, 0, 0, 0
Exit Sub
End Sub