检查文件夹是否存在,并在VBA Excel中保存两张纸

我需要VBA来检查名称为“Secret_information”的文件夹是否已经存在。 如果文件夹已经存在,那么我需要将PDF和Excel从工作表(1)保存到具有特殊名称的文件夹(参见下面的VBA)。 如果文件夹不存在,然后创build新的文件夹在同一个方向我打开的Excel文件已经定位。 我做了VBA,但它不能正常工作。 现在它不会创buildxls文件只有pdf。 此代码创build文件夹到桌面,我需要它创build文件夹我打开的Excel文件所在的文件夹。 如何使其工作?

Sub CommercialPart() Dim NewPath As String NewPath = Application.ThisWorkbook.Path & "" & "Secret_information" If Dir(NewPath, 63) = "" Then MkDir NewPath ActiveWorkbook.Sheets(1).Select ActiveSheet.ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:=NewPath & "\Secret_information_" & [Pricelist!E2] & "_" & "SC" & [Technical!I11] & "_" & Date & ".pdf", _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=No, _ OpenAfterPublish:=False ActiveWorkbook.Sheets(1).Copy ActiveWorkbook.SaveAs NewPath & "\Secret_information_" & [Pricelist!E2] & "_" & "DD" & [Material!J8] & "_" & Date ActiveWorkbook.Close End Sub 

  1. 你在Application.ThisWorkbook.Path & "" & "Secret_information"中缺less\因此它应该是Application.ThisWorkbook.Path & "\" & "Secret_information"
  2. 您在这一行末尾缺less扩展名,同时格式化date,其可读性ActiveWorkbook.SaveAs NewPath & "\Secret_information_" & [Pricelist!E2] & "_" & "DD" & [Material!J8] & "_" & Date它应该是ActiveWorkbook.SaveAs NewPath & "\Secret_information_" & [Pricelist!E2] & "_" & "DD" & [Material!J8] & "_" & Format(Date,"ddmmmyy" )& ".xls",xlExcel8

将xls的文件格式添加为xlExcel8