Macro để lưu tệp Excel dưới dạng PDF
Tôi đang chạy một macro đơn giản trên một biểu mẫu, khi được chọn, nó sẽ mở khóa bảng tính, lưu tệp dưới dạng PDF vào một thư mục được chỉ định, xóa các ô đã chọn, khóa lại, lưu và đóng biểu mẫu.
Tôi đã thử nghiệm trên nhiều máy tính khác nhau và nó hoạt động tốt trên một số máy nhưng lại báo lỗi trên những máy khác. Khi gỡ lỗi, bạn sẽ thấy dòng này được tô sáng - ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPath -. Tôi có đang bỏ sót điều gì không?
Đây là macro:
Sub Macro1()
'
ActiveSheet.Unprotect Password:="xxxxxxx"
' Khai báo strPath dưới dạng chuỗi
Dim strFolderPath As String
strFolderPath = "H:\Emergency Payment Invoices\"
strPath = strFolderPath & _
Sheet1.Range("c2").Value & _
Sheet1.Range("i8").Value & _
Sheet1.Range("B3").Value & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPath
ActiveSheet.Protect Password:="xxxxxxx"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Phạm vi ("d10"). Chọn
Lựa chọn.Xóa nội dung
Phạm vi ("d16:r18").Chọn
Lựa chọn.Xóa nội dung
Phạm vi ("d20"). Chọn
Lựa chọn.Xóa nội dung
Phạm vi ("d25:l30"). Chọn
Lựa chọn.Xóa nội dung
Phạm vi ("n25:r30"). Chọn
Lựa chọn.Xóa nội dung
Phạm vi ("h34").Chọn
Lựa chọn.Xóa nội dung
Phạm vi ("e37"). Chọn
Lựa chọn.Xóa nội dung
Phạm vi ("o37"). Chọn
Lựa chọn.Xóa nội dung
Phạm vi ("e41"). Chọn
Lựa chọn.Xóa nội dung
Phạm vi ("o41"). Chọn
Lựa chọn.Xóa nội dung
Phạm vi ("d10"). Chọn
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
Trả lời:
Bạn có thể sử dụng đoạn mã như sau:
Const strPath = "H:\Emergency Payment Invoices"
Dim fso As Object
Đặt fso = CreateObject("Scripting.FileSystemObject")
Nếu fso.FolderExists(strPath) = False thì
fso.CreateFolder strPath
Kết thúc nếu
Đặt fso = Không có gì
hoặc
Const strPath = "H:\Emergency Payment Invoices\"
Nếu Dir(strPath, vbDirectory) = "" thì
MkDir strPath
Kết thúc nếu
Comments
Post a Comment