2015-06-03 2 views
0

, поэтому я пытаюсь расширить программу, где она сохраняет отчеты, экспортирует их как 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

ответ

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' Кроме этого, он отлично работает !!! Большое вам спасибо за вашу помощь! –

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