ここ最近では、社内でもペーパーレスの推進で、紙による出力が制限されている企業が見受けれます。EXCELファイルやEXCEL VBAで作成した表を出力する際は、紙によるプリントアウトではなく、電子データ(PDF)による出力ですとペーパーレスの推進に繋がります。EXCEL VBAでPDF出力する際は、「ExportAsFixedFormatメゾット」を利用します。この「ExportAsFixedFormatメゾット」は、PDFとXPSの2種類の電子ペーパーを選択する事ができます。それでは、PDF・XPSの出力方法(ペーパーレス)を説明いたします。
【EXCELデータのブックまたは、シートをPDF・XPS形式に出力する時に使用します】
ExportAsFixedFormat(Type,FileName,Quality,includedocproperties,
ignoreprintareas, From,To,openafterpublish,FixedFormatExtClassPtr)
①使用例:ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=”c:\ファイル名.pdf”
※アクティブシートをPDFファイルに出力
②使用例:ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=”c:\ファイル名.pdf”,From:=2,To:=6
※アクティブシートの2ページから6ページをPDFファイルに出力
下記のサンプルプログラムは、変換するPDFファイルのページ範囲を指定してPDFファイルを作成するプログラムです。実行をPDF化するEXCELファイル先頭ページ番号を最終ページ番号を入力して、指定されたページ範囲でPDFファイルが作成されます。なお、入力されたページ番号については、正式な範囲内のみ実行されるようにチェック機能を追加しています。
※下図は、EXCELシートに月ごとに1~12月のデータが12ページ分あります。(下表は一部)の1~12の間のページ番号を指定します。