用EXCEL VBA快速將大量的EXCEL檔轉為PDF檔

 

這是EXCEL VBA進階課程的單元七的大量工作表的分割時講到,

剛好有學員問道如果想把大量的工作表,直接分割為PDF檔,

該怎麼做?其實只要一個For迴圈配合ExportAsFixedFormat方法,

就可以快速的將大量的工作表輸出為一個一個的PDF檔,

省去人工所要花費的時間,如果你每天都需要將工作表轉為PDF,

這個分享,應該可以幫到您很多的忙,節省大量時間。

 

其他可參考

如何用EXCEL VBA批次轉PDF檔  [連結]
[問題詢問]如何修改VBA讓EXCEL自動轉存成PDF時不會出現副檔名 [連結]
先學會如何用EXCEL VBA批次另存成2003與CSV等格式 [連結]
如何用EXCEL VBA自動批次匯入圖片與超連結 [連結]
如何增加EXCEL VBA按鈕 [連結]

 

預覽:


大數時代來臨如果不懂得裡用自動化方式處理資料,

處理資料將非常沒有效率,

至於處理大數據的方案很多,

但最通行也沒有額外費用的大概只剩VBA了。

而且開啟EXCEL就包含VBA,除了在Windows外,

MAC蘋果電腦一樣也有EXCEL,

VBA也可以沿用以前VB的資源,這樣看來VBA處理大數據應該沒有什麼對手了。

 

 

 

程式碼:

Public Sub 批次將工作表轉存為工作簿_PDF()

    If Dir("C:\Users\SCU\Desktop\VBA\*.xlsx") <> "" Then Call 刪除檔案

    

    Application.FileDialog(msoFileDialogFolderPicker).Show

    sPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)

 

    Application.ScreenUpdating = False

    For i = 2 To 14

        x = Sheets("甲班").Cells(i, "I")

        Sheets(x).Copy

        ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & "\" & x & ".pdf"

        ActiveWorkbook.Close False

    Next

    Sheets("甲班").Select

    Application.ScreenUpdating = True

End Sub

 

 

教學影音(完整版在論壇):

 

教學影音完整版在論壇:

https://groups.google.com/forum/#!forum/scu_excel_vba2_86

 

EXCEL VBA進階班的課程規劃

 

主要是延伸入門課,延伸資料庫、多工作表、工作簿、網路爬蟲、視覺化報表等應用並與Python程式協同應用

單元01_資料拆解相關(VBA)

單元02_輸入自動化與表單設計

單元03_用ADO匯入與匯出資料庫

單元04_大量工作表合併與分割

單元05_資料查詢(篩選與分割工作表)

單元06_下載網路資料(YAHOO股市)

單元07_活頁簿與檔案處理(工作表分割與合併活頁簿)

單元08_視覺化報表與快速匯入圖片

 

其他相關學習:

函數東吳進修推廣部, EXCEL, EXCEL VBA 函數 程式設計 線上教學 excel vba 教學 excel vba指令教學 vba範例教學excel  excel vba教學視頻 函數教學 excel函數

吳老師 發表在 痞客邦 留言(0) 人氣()