2015-12-21 23 views
2

我想爲每張帶有該工作表名稱的工作表在Q中生成一個新文件夾並使用該工作表的名稱生成同一工作表的PDF。例如,對於表'Sheet42',我想要在文件夾Q:\ Sheet42中創建一個名稱爲''Sheet42'的PDF。將pdf放置在新創建的同名文件夾中

我可以爲Excel文件中的每個工作表生成PDF,以使用工作表的名稱作爲PDF的名稱並將其放置在Q文件夾中。

如何創建新文件夾?

Sub createPDFfiles() 
Dim ws As Worksheet 
Dim Fname As String 
For Each ws In ActiveWorkbook.Worksheets 
    On Error Resume Next 
    Fname = "Q:" & ws.Name 
    ws.ExportAsFixedFormat _ 
     Type:=xlTypePDF, _ 
     Filename:=Fname, _ 
     Quality:=xlQualityStandard, _ 
     IncludeDocProperties:=True, _ 
     IgnorePrintAreas:=False 
Next ws 
End Sub 

回答

0

你很靠近使用mkdir,你可以創建目錄(下面的代碼)。然後您只需更改Fname即可將文件分配到創建的目錄。

Sub createPDFfiles() 
Dim ws As Worksheet 
Dim Fname As String 
For Each ws In ActiveWorkbook.Worksheets 
    On Error Resume Next 
      MkDir "Q:" & ws.Name 
      Fname = "Q:" & ws.Name & "\" & ws.Name 
    ws.ExportAsFixedFormat _ 
     Type:=xlTypePDF, _ 
     fileName:=Fname, _ 
     Quality:=xlQualityStandard, _ 
     IncludeDocProperties:=True, _ 
     IgnorePrintAreas:=False 
Next ws 
End Sub 

但你需要檢查,如果目錄已經存在,MKDIR之前,但它應該很容易爲你解決

+0

謝謝!它像一個魅力! –

相關問題