ray88’s diary

お仕事で困ったとき用の自分用の覚書

VBA Excel→PDF作成 ①

■呼び出し元

Sub PDF作成()
Dim wb As Workbook
Dim strExcelPath As String
Dim strSheetName As String
Dim strPdfPath As String

strExcelPath = "C:\Users\デスクトップ\ExcelVBAプロジェクト\納品書.xlsx"
strSheetName = "Sheet1"
strPdfPath = "C:\Users\デスクトップ\ExcelVBAプロジェクト\納品書.pdf"

Set wb = Workbooks.Open(strExcelPath)
Call MakePdf(wb, strSheetName, strPdfPath)

■PDF作成部品

Sub MakePdf(wb As Workbook, strSheetName As String, strPdfPath As String)
'--------------------------------------------------------
'機 能:対象Excelファイルの対象シートをPDFとして出力する
'引数1:対象Excelファイルを格納したワークブックオブジェクト
'引数2:対象シート名
'引数3:PDFファイルパス
'--------------------------------------------------------
    Application.DisplayAlerts = False
        wb.Sheets(strSheetName).Activate
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPdfPath, _
        ignoreprintareas:=False, openafterpublish:=False
    Application.DisplayAlerts = True
    wb.Close
End Sub