AccessのPDF出力の方法をお探しですね。

広告

AccessのレポートをPDFで保存する方法を分かりやすく解説

Accessで日々の業務データを管理していると、集計結果や帳票を「Accessレポート」として作る機会が増えてきますよね。

でも、Accessを持っていない人にデータを共有したいときや、書類を改ざんされないように保管したいときには、レポートをPDFファイルにして保存するのがとても便利なんです。

この記事では、初めての人でもできる手動でのPDF保存から、作業を自動化するVBAという仕組みまで、順を追って説明していきます。

1. AccessレポートをPDFにするとどんないいことがあるの?

Accessで作ったレポートは、そのままだとAccessがないと見ることができません。

でも、PDFファイルにすれば、誰でもパソコンやスマホから簡単に見られるようになります。

会議で配る資料を用意したり、取引先にメールで送ったりするときに、とても役立ちますよね。

それから、PDFにすることで書類の安全性もグッと高まります。

ExcelやWordと違って、PDFは他の人が勝手に内容を書き換えにくいんです。

だから、請求書や納品書みたいな大事なビジネス文書を保管するのにぴったりなんですね。

うれしいことに、Accessには最初からレポートをPDFにする機能が入っています。

特別なソフトを買ったりインストールしたりする必要はありません。

たまにしか使わないレポートなら手動で操作すれば十分ですし、毎日・毎月のように頻繁に出力するレポートなら、VBAという仕組みを使って自動化すると、時間の節約になって作業ミスも減らせます。

自分の仕事のやり方に合わせて、ちょうどいい方法を選んでみてください。

2. 手動でAccessレポートをPDFにする方法

プログラミングの知識がなくても、マウスだけで簡単にレポートをPDFにすることができます。

月に数回しか使わないレポートなら、この手動の方法が一番お手軽です。

やり方はとってもシンプルで、次の3ステップだけです。

1. **ナビゲーションウィンドウ**で、PDFにしたいレポートを選ぶ(または右クリック)
2. 画面上の**「外部データ」タブ**を開いて、**「PDF または XPS」**をクリック
3. 保存先とファイル名を決めて、**「発行」ボタン**を押す

これだけで、指定した場所にPDFファイルが作られます。

ファイルの種類が「PDF (*.pdf)」になっているか、念のため確認してから保存ボタンを押すようにしましょう。

ちなみに、レポートを**「印刷プレビュー」**で開いているときも、同じ手順でPDFにできます。

プレビュー画面に表示される「PDF または XPS」ボタンをクリックすればOKです。

保存するときに**「発行後にファイルを開く」**にチェックを入れておくと、保存した直後にPDFが自動で開くので、文字が欠けていないか、レイアウトが崩れていないか、その場ですぐに確認できて安心ですよ。

3. VBAを使ってPDF出力を自動化してみよう

毎日の売上報告書や、たくさんの請求書を一つひとつ手動でPDFにするのって、すごく時間がかかって大変ですよね。

そんなときは、VBAという機能を使って自動化すると、作業がグッと楽になります。

フォームにボタンを一つ置いて、そこに数行のコードを書くだけで、ワンクリックでPDFが保存できるようになるんです。

VBAでレポートをPDF形式で保存するには、**「DoCmd.OutputTo」**という命令を使います。

この命令は、Accessのオブジェクト(今回はレポート)を、指定した形式で外部ファイルとして保存してくれる便利な機能です。

コード自体はそれほど難しくないので、プログラミング初心者でも十分にできますよ。

基本的な書き方は、こんな感じです。

“`

DoCmd.OutputTo acOutputReport, "売上レポート", acFormatPDF, "C:\Report\売上レポート.pdf"

“`

この一行を実行するだけで、指定したフォルダにPDFが自動で作られます。

手作業だと保存先を間違えたり、ファイル名を打ち間違えたりすることがありますが、VBAならそういうミスがなくなるので、仕事の正確さもスピードも格段にアップします。

4. もっと便利に使うためのテクニックと気をつけること

基本のVBAコードができたら、もう少し工夫してみましょう。

特に便利なのが、PDFのファイル名に**日付や時刻を自動で入れる**方法です。

同じファイル名で保存し続けると、前のファイルが上書きされて消えてしまいますが、日付を入れることで、過去のファイルも残しておけるようになります。

日付をファイル名に入れるには、VBAの**「Format関数」**と**「Date関数」**を組み合わせます。

例えば、こんな風に書きます。

“`

"C:\Report\売上レポート_" & Format(Date, "yyyymmdd") & ".pdf"

“`

こうすると、マクロを実行した日の日付が「20231025」みたいに自動でファイル名の後ろに付いて、毎日出力しても別のファイルとしてきれいに整理されます。

月ごとに管理したいなら「yyyymm」にするなど、用途に合わせて調整できますよ。

自動化するときに気をつけたいのが、**保存先のフォルダがちゃんと存在するか**ということです。

存在しないフォルダを指定したり、すでに同じ名前のPDFが別のソフトで開かれていたりすると、エラーが出て処理が止まってしまいます。

これを防ぐには、**「Dir関数」**を使ってフォルダの存在を確認したり、**エラーハンドリング(On Error構文)**を書いて、分かりやすいエラーメッセージを表示させたりするといいでしょう。

こういった工夫をすることで、どんな状況でもちゃんと動く、頼れるPDF出力システムが作れるようになります。

広告