Loops 根据时间/日期创建新文件夹/文件

Loops 根据时间/日期创建新文件夹/文件,loops,excel,mkdir,vba,Loops,Excel,Mkdir,Vba,所以我尝试扩展一个程序,它可以保存报告,导出为pdf格式,然后保存。我已经把它放到了一个可以按年、然后按月将pdf保存组织到文件夹中的位置。问题是,当循环到达代码的Day(Date)部分时,它会保存文件并创建一个新文件夹,但当我尝试保存另一个报告时,它只会覆盖上一个报告。我曾尝试在其中添加一个Time()或Now()函数,但出现了75和76个错误。请帮忙 Sub Date_Folder_Save() Application.DisplayAlerts = False ' Chec

所以我尝试扩展一个程序,它可以保存报告,导出为pdf格式,然后保存。我已经把它放到了一个可以按年、然后按月将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"
结束子节点

尝试以下操作:

"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 

我用
CreateBackup:=False
得到了一个1004,所以我把它注释掉,去掉了
OpenAfterPublish:=True
之后的逗号,除此之外,它工作得非常完美!!!非常感谢你的帮助!