https://zh-tw.extendoffice.com/document ... o-pdf.html
使用VBA代碼將工作簿中的多個工作表轉換為單獨的PDF文件
我是應用在員工出缺勤紀錄
1. 打開一個要轉換的工作簿,然後按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。
2. 點擊 插入 > 模組,然後將以下代碼粘貼到 模組 窗口。
匯入 將工作簿中的多個工作表轉換為單獨的PDF文件.bas
因為第一個工作表是人名,不需要存為 PDF
所以我將
For xI = 1 To xInt
改為
For xI = 2 To xInt
3. 然後,按 F5 鍵以運行此代碼,並彈出一個窗口,請選擇文件夾路徑以找到轉換後的PDF文件
4. 然後,點擊 OK 按鈕,當前工作簿中的所有工作表已分別轉換為PDF文件
代碼: 選擇全部
Sub SplitEachWorksheet()
'Updateby Extendoffice
Dim xSPath As String
Dim xSFD As FileDialog
Dim xWSs As Sheets
Dim xWb As Workbook
Dim xWbs As Workbooks
Dim xNWb As Workbook
Dim xInt, xI As Integer
Set xSFD = Application.FileDialog(msoFileDialogFolderPicker)
With xSFD
.title = "Please select a folder to save the converted files:"
.InitialFileName = "C:\"
End With
If xSFD.Show <> -1 Then Exit Sub
xSPath = xSFD.SelectedItems.Item(1)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xWb = Application.ActiveWorkbook
Set xWbs = Application.Workbooks
Set xWSs = xWb.Sheets
Set xNWb = xWbs.Add
xInt = xWSs.Count
For xI = 1 To xInt
On Error GoTo EBreak
Set xWs = xWSs.Item(xI)
If xWs.Visible Then
xWSs(xWs.Name).Copy
Application.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xSPath & "\" & xWs.Name & ".pdf"
Application.ActiveWorkbook.Close False
End If
EBreak:
Next
xWb.Activate
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub