ExcelのSheetをPDFに変換するpowershellのスクリプトを試した

昔のスクリプトを取り出して試してみた。
対象のExcelファイルのシートをかたっぱしからPDFに変換するというシナリオで、PDFのファイル名は単純にファイル名に連番を付したものとした。
PDFへの変換にはWorkbook.ExportAsFixedFormat メソッド (Excel)を使用した。
Workbook.ExportAsFixedFormat メソッド (Excel) | Microsoft Docs

以下がコード。

#
#  export Excel sheet
#
$xlFixedFormat = "Microsoft.Office.Interop.Excel.xlFixedFormatType" -as [type] 
$excel = new-object -comobject excel.application
#$excel.visible = $True
$list = get-childitem . -include *.xlsx -recurse

$list | % {
    $_.FullName
    $excelbook = $excel.workbooks.open($_.FullName)
    for ( $i=0; $i -lt $excelbook.Sheets.Count; $i++ )
    {
        $n = $i + 1
        $excelbook.worksheets.item($n).Name
        $excelbook.worksheets.item($n).Select()
        $filename = $_.DirectoryName + "\" + $_.basename +'_{0:d2}' -f $n + ".pdf"
        $filename
        $excelbook.worksheets.item($n).ExportAsFixedFormat($xlFixedFormat::xlTypePDF, $filename) 
    }
}

$excel.quit()

ExportAsFixedFormat()をprintOut()にすると印刷できるはずである。
「はず」というのは確認できる環境はなく、確かではない。deprecatedとなっているかもしれない。もともとは印刷のためのスクリプトであったが、さすがにDXの時代にもう紙への印刷はないだろう・・・。

            $excelbook.worksheets.item($n).printOut()

ちなみにWindows10 HOME上でMicrosoft Office Home and Business2019のExcelを使って試した。