2017-01-29 1 views
0

Ich versuche, ein bestimmtes Blatt als PDF speichern mit folgendem Code, sondern ein Fehler msg zeigt Run Time Error'1004': Method 'SaveAs' of object '_Worksheet' FailedWie bestimmte Arbeitsblatt in einer Arbeitsmappe als einzigartige PDF-Datei mit VBA

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 

Antwort

0

Sie müssen sparen ExportAsFixedFormat verwenden, nicht SaveAs (und der entsprechende Parametername)

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 
+0

Dank. Jetzt ist es die Veröffentlichung des Blattes aber seine Zerkleinerung der Datei – Boo

+0

Meinst du es stürzt? Woher? Wie? – CLR

+0

Yah .. Es stürzt ab. Während die Datei exportiert wird, wird eine neue PDF-Datei generiert, aber die Excel-Datei stürzt ab und muss neu gestartet werden. – Boo

Verwandte Themen