2016-08-09 4 views
1

У меня есть следующий макрос, чтобы создать папку в папке, в которой файл Excel является:Сохранить файл PDF автоматически в новую папку

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 

И я следующий макрос, чтобы создать PDF-файл:

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

Теперь я хочу, чтобы файл PDF, созданный во втором макросе, будет сохранен в папке, созданной в первом макросе.

У вас есть идеи, как я могу это сделать?

+0

В Интернете есть множество похожих вопросов. Вы можете попробовать здесь: http://stackoverflow.com/questions/27219784/vba-print-to-pdf-and-save-with-automatic-file-name?rq=1 –

ответ

0

Возможно, только это?

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 

Это меняет Filename аргумент в суб Button_PDF_200 от

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

в

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

.. Привет Мичи,

также вы можете попробовать что-то вроде этого:

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 

Удачи!

Смежные вопросы