简体   繁体   English

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

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

I am trying to save a specific sheet as PDF with below code but an error msg is showing Run Time Error'1004': Method 'SaveAs' of object '_Worksheet' Failed 我正在尝试使用以下代码将特定工作表另存为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 

You need to use ExportAsFixedFormat , not SaveAs (and the appropriate parameter name) 您需要使用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