Loops 根据时间/日期创建新文件夹/文件
所以我尝试扩展一个程序,它可以保存报告,导出为pdf格式,然后保存。我已经把它放到了一个可以按年、然后按月将pdf保存组织到文件夹中的位置。问题是,当循环到达代码的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
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
之后的逗号,除此之外,它工作得非常完美!!!非常感谢你的帮助!