2016-04-03 15 views
0

Obwohl diese Fragen bereits gestellt wurde, fand ich keine echte Antwort dafür. Ich muss programmgesteuert Arbeitsblätter in einer Arbeitsmappe auswählen und sie in PDF-Datei speichern OHNE temporäre Arbeitsmappe erstellen und ausgewählte Arbeitsblätter darauf kopieren.Excel: Speichern ausgewählter Arbeitsblätter in PDF-Datei

Oder wie erstellt Arbeitsmappe, ohne es anzuzeigen - also im Speicher und dann auf HD? Dies ist wiederum kann die erste Frage zu lösen helfen ...

Antwort

0

Try this:

Sub SaveToPdf() 

Dim ws As Worksheet 

Dim sfName As String 

For Each ws In Worksheets 

sfName = ws.Name 
sfName = "C:\Misc\" & sfName & ".pdf" 

     ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
     sfName, Quality:= _ 
     xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ 
     OpenAfterPublish:=False 

Next ws 


End Sub 

Sie müssen sicher, dass Ihre Druckbereiche auf jedes Blatt machen gesetzt wurden zuerst denke ich

+0

I don Wenn das funktioniert - bin ich mir sicher, dass es nicht funktioniert - wie es weiß, was SELECTED Arbeitsblatt in der Arbeitsmappe gedruckt hat? Dieser Code druckt das Arbeitsblatt als separate PDF und das ist nicht meine Frage. Vielleicht sollten Sie es noch einmal lesen ... –

+0

Der Code funktioniert zum Speichern aller Arbeitsblätter als separate PDF-Dateien. Möchten Sie mehrere Arbeitsblätter in einer einzigen PDF-Datei speichern? Oder suchen Sie nach einer Möglichkeit, ein einzelnes Arbeitsblatt dynamisch auszuwählen, um es in PDF zu speichern? Wenn Sie immer dasselbe Arbeitsblatt (dieselben Arbeitsblätter) speichern möchten, können Sie dem Code eine "if" -Anweisung hinzufügen, um zu überprüfen, ob der Name mit dem gewünschten übereinstimmt. – ShirleyM

Verwandte Themen