, поэтому я пытаюсь расширить программу, где она сохраняет отчеты, экспортирует их как 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"
End Sub
Я получаю 1004 с 'CreateBackup: = false' так прокомментировал я это и избавилось от запятой после 'OpenAfterPublish: = True' Кроме этого, он отлично работает !!! Большое вам спасибо за вашу помощь! –