簡體   English   中英

如何使用VBA將工作簿中的特定工作表另存為唯一的PDF文件

[英]How to save specific worksheets in a workbook as unique PDF file using VBA

我正在嘗試使用以下代碼將特定工作表另存為PDF,但錯誤消息顯示Run Time Error'1004': Method 'SaveAs' of object '_Worksheet' Failed

Sub SaveAsPDF()
    Dim path As String
    Dim MyDate As String
    Dim WS As Worksheet
    path = "c:\invoice\"

    MyDate = Date
    MyDate = Format(MyDate, "dd_mm_yyyy")

    Application.DisplayAlerts = False

    For Each WS In ThisWorkbook.Worksheets
        WS.SaveAs Filename:=path & Range("D6").Text & "-" & Range("K6").Value & "-" & _
        MyDate, FileFormat:=xlTypePDF
    Next

    Application.DisplayAlerts = True
    ActiveWorkbook.Close savechanges:=False
End Sub 

您需要使用ExportAsFixedFormat ,而不要使用SaveAs (以及適當的參數名稱)

Sub SaveAsPDF()

Dim path As String
Dim MyDate As String
Dim WS As Worksheet
path = "c:\invoice\"

MyDate = Date
MyDate = Format(MyDate, "dd_mm_yyyy")

Application.DisplayAlerts = False

For Each WS In ThisWorkbook.Worksheets
    WS.ExportAsFixedFormat Filename:=path & Range("D6").Text & "-" & Range("K6").Value & "-" & MyDate, Type:=xlTypePDF
Next

Application.DisplayAlerts = True

ActiveWorkbook.Close savechanges:=False

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM