2015-06-03 98 views
0

所以我試圖擴展一個程序,它保存報告,將它們導出爲pdf並保存。我已經知道它可以在哪裏將年度保存到文件夾中,然後按月保存。問題是,當循環到達代碼的Day(Date)部分時,它會保存文件並創建一個新文件夾,但當我嘗試保存另一個報告時,它只會覆蓋前一個。我試過在那裏添加Time()Now()函數,但它正在吐出錯誤75和76.請幫忙。基於時間/日期創建新的文件夾/文件

Sub Date_Folder_Save() 

Application.DisplayAlerts = False 

' Check for year folder and create if needed 
If Len(Dir("C:blah\" & Year(Date), vbDirectory)) = 0 Then 
    MkDir "C:blah\" & Year(Date) 
End If 


' Check for month folder and create if needed 
If Len(Dir("C:blah\" & Year(Date) & "\" & MonthName(month(Date), False), vbDirectory)) = 0 Then 
    MkDir "C:blah\" & Year(Date) & "\" & MonthName(month(Date), False) 
End If 

    ' Check for day folder and create if needed 
If Len(Dir("C:blah\" & Year(Date) & "\" & MonthName(month(Date), False) & "\" & Day(Date), vbDirectory)) = 0 Then 
    MkDir "C:blah\" & Year(Date) & "\" & MonthName(month(Date), False) & "\" & Day(Date) 
End If 

' Check for time 
If Len(Dir("C:blah\" & Year(Date) & "\" & MonthName(month(Date), False) & "\" & Day(Date) & "\" & Now(), vbDirectory)) = 0 Then 
    MkDir "C:blah\" & Year(Date) & "\" & MonthName(month(Date), False) & "\" & Day(Date) & "\" & Now() 
End If 

' Save File 
ActiveSheet.ExportAsFixedFormat Type:=x1TypePDF, Filename:= _ 
"C:blah\" & Year(Date) & "\" & MonthName(month(Date), False) & "\" & Format(Date, "mm.dd.yy") & ".pdf" _ 
, Quality:=x1QualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True _ 
, CreateBackup:=False 



Application.DisplayAlerts = True 

' Popup Message 
MsgBox "File Saved As:" & vbNewLine & "blah\" & Year(Date) & _ 
"\" & MonthName(month(Date), False) & "\" & Format(Date, "mm.dd.yy") & ".pdf" 

末次

回答

0

試試這個:

"C:blah\" & Year(Date) & "\" & MonthName(month(Date), False) & "\" & _ 
      Format(Now(), "mm.dd.yy_hh.mm.ssAM/PM") & ".pdf") 

代碼應爲:

' Save File 
strFilePath = "C:blah\" & Year(Date) & "\" & MonthName(month(Date), False) & "\" & _ 
       Format(Now(), "mm.dd.yy_hh.mm.ssAM/PM") & ".pdf") 


ActiveSheet.ExportAsFixedFormat Type:=x1TypePDF, Filename:= strFilePath, _ 
           Quality:=x1QualityStandard, IncludeDocProperties:=True, _ 
           IgnorePrintAreas:=False, OpenAfterPublish:=True, _ 
           CreateBackup:=False 

Application.DisplayAlerts = True 

' Popup Message 
MsgBox "File Saved As:" & vbNewLine & strFilePath 
+0

我得到一個1004的'CreateBackup:= FALSE'所以我評論它出來並在'OpenAfterPublish:= True'後襬脫逗號。 除此之外,它的工作原理完美!非常感謝你的幫助! –

相關問題