2016-08-09 16 views
1

Ich habe das folgende Makro einen Ordner in dem Ordner zu erstellen, in dem die Excel-Datei ist:speichern PDF-Datei automatisch in den neuen Ordner

Sub Folder_Test() 
    If Dir(ThisWorkbook.Path & "\" & "Folder_01", vbDirectory) = "Folder_01" Then 
     MsgBox "Folder already exists!" 
    Else 
     MkDir Application.ThisWorkbook.Path & "\" & "Folder_01" 
    End If 
End Sub 

Und ich habe das folgende Makro eine PDF-Datei zu erstellen:

Sub Button_PDF_200() 
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
     ThisWorkbook.Path & "\" & "test.pdf", Quality:=xlQualityStandard, _ 
     IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True 
End Sub 

Jetzt möchte ich, dass die PDF-Datei, die im zweiten Makro erstellt wird, in dem Ordner gespeichert wird, der im ersten Makro erstellt wird.

Haben Sie eine Idee, wie ich das machen kann?

+0

Es gibt Tonnen von ähnlichen Fragen im Web. Sie können es hier versuchen: http://stackoverflow.com/questions/27219784/vba-print-to-pdf-and-save-with-automatic-file-name?rq=1 –

Antwort

0

Vielleicht nur das?

Sub Button_PDF_200() 
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
     ThisWorkbook.Path & "\" & "Folder_01" & "\" & "test.pdf", Quality:=xlQualityStandard, _ 
     IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True 
End Sub 

dass das Filename Argument innerhalb des Unter ändert Button_PDF_200 von

ThisWorkbook.Path & "\" & "test.pdf" 

zu

ThisWorkbook.Path & "\" & "Folder_01" & "\" & "test.pdf" 
0

.. Hallo Michi,

können Sie auch etwas wie das versuchen:

pdfName = ActiveSheet.Range("T1") 
    ChDir "C:\Temp\" 'This is where youo set a defult file path. 
    fileSaveName = Application.GetSaveAsFilename(pdfName, _ 
    fileFilter:="PDF Files (*.pdf), *.pdf") 
    If fileSaveName <> False Then 
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:= _ 
     fileSaveName _ 
     , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _ 
     :=False, OpenAfterPublish:=True 
    End If 
    MsgBox "File Saved to" & " " & fileSaveName 

Viel Spaß!

Verwandte Themen