印刷設定したExcelシートをPDF化して保存&個人情報管理システムの仕上げ:Excelマクロ/VBAで始める業務自動化プログラミング入門(16)(3/3 ページ)
プログラミング初心者を対象にExcelマクロ/VBAを使った業務自動化プログラムの作り方を一から解説します。最終回は、個人情報管理システムの仕上げを行い、IsNumeric関数の使い方やExportAsFixedFormatメソッドで印刷設定したシートをPDF化して保存する方法を紹介します【Windows 10、Excel 2016に対応】。
シートを指定した形式のファイルにエクスポートする「ExportAsFixedFormat」メソッドの使い方(「PDFに書き出す」ボタンがクリックされたときの処理)
最後は、「PDFに書き出す」ボタンがクリックされたときの処理だ(リスト9)。
Private Sub PDFボタン_Click() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\ExcelVBAPDF\個人情報.pdf" End Sub
アクティブなシートを、「ExportAsFixedFormat」メソッドで、指定した形式のファイルにエクスポートする。
ファイルの形式の種類を指定する「Type」
「Type」にはファイルの形式の種類を指定する。ここではPDFに書き出すため、「xlTypePDF」を指定しているが、XPS形式に書き出すために「xlTypeXPS」を指定することも可能だ。
エクスポートするファイルの完全パスを指定する「Filename」
「Filename」には、新しいPDFファイル、またはXPSファイルの完全パスを指定する。ここでは「C:\ExcelVBAPDF」フォルダ内に「個人情報.pdf」として保存している。
PDFにシートを書き出す場合の注意点
注意してほしいのは、PDFにデータを書き出す場合は、事前に「C:\」に「ExcelVBAPDF」というフォルダを作成しておく必要がある点だ。このフォルダを事前に作成していないとエラーになってしまう。
Excel VBAの「MKDir」ステートメントでもフォルダは自動的に作成できるのだが、既に同じフォルダが存在しているとエラーを返すので、この方法は採らずに、手動でフォルダを事前に作成しておくという安全策を採った。
また、PDFとして書き出す場合は、メニューから「印刷設定」で印刷される範囲を必ず先にプレビューしておく必要がある。プレビューをした後、「印刷またはPDF化」メニューで「PDFに書き出す」を実行していただきたい。この前段階を省略すると、データが用紙に収まらないので注意してほしい。
PDFエクスポートの実行結果
実際にエクスポートされるPDFは図4のようになる。図4のPDFで表示されているデータは、同じデータをコピー&ペーストして複数枚にわたって書き出させた。各ページの先頭には項目名がちゃんと入っている。
これで全てのメニューに関連付いた処理が完成だ。
マクロのアレンジや、「あいまい検索」にも挑戦してみよう
今回で4回にわたって紹介した「Excel VBAで作る個人情報管理システム」の応用編は終わりだ。「個人情報」に関する処理の仕方は、だいたい網羅できたと思っている。この連載を参考にし、マクロをアレンジして各自の職場で利用していただきたい。
本連載の心残りは、「あいまい検索」を実装して、同姓同名だが「住所」や「電話番号」の異なる人物を全部検索して、複数のデータがある場合は[次]ボタン、[前]ボタンを表示して、全ての同姓同名の人物を表示させる処理に手が回らなかったことだ。ただ、オートフィルタ表示による「あいまい検索」は新規に追加しておいた。これらを参考にして読者各自が、自分なりの「あいまい検索」を実装してみてほしい。
本連載「Excelマクロ/VBAで始める業務自動化プログラミング入門」では初心者編から、今回の「Excel VBAで作る個人情報管理システム」といった応用編までを解説してきたわけだが、いかがだっただろうか。Excel VBAに興味を持っていただき、「よし! わが社の業務をExcel VBAでマクロ化して、業務の効率化を図ろう」という気持ちになっていただければ、筆者冥利に尽きるのだが……。
一気にExcel VBAで日常の業務をマクロ化して、効率化を図るのは大変だと思う。少しずつ、業務の一部分をマクロ化して効率化を図っていけば、何カ月か後には、ほとんどの業務がマクロ化でき、会社の売上にも貢献するのではないだろうか、と筆者は思っている。ぜひ実践してみてほしい。
長い間のお付き合いありがとうございました。また、お会いできる日まで……。
■更新履歴
【2016/10/31】Windows 10、Excel 2016に対応しました。
参考書籍
著者プロフィール
PROJECT KySS 薬師寺 国安(やくしじ くにやす)
1950年生まれ。フリーVBプログラマ。高級婦人服メーカーの事務職に在職中、趣味でVBやActiveXに取り組み、記事を執筆。2003年よりフリー。.NETやRIAに関する執筆多数。Windowsストアアプリも多数公開中(約270本)。
Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。
Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)。
Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)。
PROJECT KySSは、1997年に薬師寺聖と結成したコラボレーション・ユニット
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Excelマクロ/VBAリファレンス用途別・キーワード別一覧超まとめ
- ピボットテーブルとは何か──「そもそも、何をする機能か」を理解する
Excelを通じて「ピボットテーブル」の基礎を学び、データ分析を実践するまでを習得する本連載。初回はピボットテーブルの基礎と、「どんなことができるのか」を解説する。 - どんなビジネスにも欠かせないリレーショナルデータベースの基礎知識と作り方――テーブル、レコード、フィールド、主キーとは
Accessを通じて、初心者がリレーショナルデータベースやSQLの基本を学び、データベースを使った簡単なシステムの作り方を習得する本連載。初回はデータベースの基本を理解し、Accessを使い始めてみよう。