PR

Access VBA逆引き集|DoCmd.OutputToでPDF出力を自動化する実践テクニックとCopilot活用術

VBA

Access VBAで業務システムを開発していると、

  • 請求書をPDF化したい
  • 点検報告書を自動保存したい
  • 売上レポートをメール送信したい
  • 帳票を電子保存したい
  • 月次資料を自動作成したい

といった要件が頻繁に発生します。

Access VBAでPDFを作成するならDoCmd.OutputToが最も簡単で実務向きです。

特に、

請求書

納品書

報告書

売上集計表

設備点検票

などの帳票管理システムでは必須レベルの機能です。

最近では紙ではなくPDFでの保管やメール送付が主流になっているため、Access VBA開発者ならぜひ習得しておきたい技術です。


スポンサーリンク

DoCmd.OutputToとは

OutputToは、

レポート

↓

PDF出力

↓

ファイル保存

を行うAccess標準機能です。


OutputToでできること

主な用途です。

PDF出力

Excel出力

Word出力

HTML出力

テキスト出力

ですが、実務ではPDF出力が圧倒的に多いです。


基本構文

DoCmd.OutputTo _

出力対象, _

オブジェクト名, _

出力形式, _

保存先


最もよく使うPDF出力

基本コードです。

DoCmd.OutputTo _

acOutputReport, _

"R_INVOICE", _

acFormatPDF, _

"C:\PDF\Invoice.pdf"

結果

R_INVOICE

↓

Invoice.pdf

が生成されます。


逆引き① レポートをPDF化したい

最も基本です。

DoCmd.OutputTo _

acOutputReport, _

"R_SALES", _

acFormatPDF, _

"C:\PDF\Sales.pdf"

効果

売上レポートをPDF保存できます。


逆引き② 日付付きファイル名で保存したい

実務で最も利用される方法です。

Dim strFile As String

strFile =

"C:\PDF\Sales" & _

Format(Date(), _

"yyyymmdd") & _

".pdf"

出力

DoCmd.OutputTo _

acOutputReport, _

"R_SALES", _

acFormatPDF, _

strFile

結果

Sales_20260925.pdf


逆引き③ 年月フォルダへ保存したい

帳票保管向けです。

strFile = _

"C:\PDF" & _

Format(Date(), _

"yyyymm") & _

"\Sales.pdf"

効果

月別管理できます。


逆引き④ 指定顧客の請求書を出力したい

請求システムです。


レポート表示

DoCmd.OpenReport _

"R_INVOICE", _

acViewPreview, _

, _

"顧客コード='C001'"

PDF出力

DoCmd.OutputTo _

acOutputReport, _

"R_INVOICE", _

acFormatPDF, _

strFile

効果

個別請求書作成


逆引き⑤ 出力後にPDFを開きたい

確認用です。

Application.FollowHyperlink _

strFile

効果

自動表示できます。


実務活用例① 請求書システム

定番業務です。


処理

請求データ作成

↓

レポート生成

↓

PDF出力

↓

保存


VBA

DoCmd.OutputTo _

acOutputReport, _

"R_INVOICE", _

acFormatPDF, _

strFile

実務活用例② 設備点検管理システム

点検結果保存です。


帳票

設備番号

測定値

判定結果


出力

DoCmd.OutputTo _

acOutputReport, _

"R_CHECK", _

acFormatPDF, _

strFile

効果

電子保管対応


実務活用例③ 風量測定管理システム

測定報告書出力です。


出力内容

測定日時

測定地点

線量値

判定結果


効果

紙管理削減

履歴管理強化


実務活用例④ 売上管理システム

月次報告書出力です。

DoCmd.OutputTo _

acOutputReport, _

"R_MONTHLY_SALES", _

acFormatPDF, _

strFile

効果

管理資料自動作成


実務活用例⑤ ログ管理システム

実行結果報告です。


出力

処理件数

エラー件数

実行日時


効果

監査対応


ファイル名を自動生成する

実務では必須です。

strFile = _

"C:\PDF" &

"Report" & _

Format(Now(), "yyyymmdd_hhnnss") & 

".pdf"

結果

Report_20260925_101530.pdf


ファイル重複を防げます。


Dir関数と組み合わせる

出力チェックです。

If Dir(strFile) <> "" Then

    MsgBox "既に存在します"

End If

効果

上書き事故防止


DAOと組み合わせる

出力対象取得です。

Set rs = _

CurrentDb.OpenRecordset(strSQL)

レコードごとに出力できます。

Do Until rs.EOF

    'PDF生成

    rs.MoveNext

Loop

効果

請求書一括発行


ベテラン開発者の定番コード

実務で非常によく見る形です。

Dim strFile As String

strFile = _

"C:\PDF" & _

Format(Now(), "yyyymmdd_hhnnss") & ".pdf"

DoCmd.OutputTo _

acOutputReport, _

"R_REPORT", _

acFormatPDF, _

strFile

シンプルで保守しやすいコードです。


Copilot活用術① PDF出力コード生成

Copilotへの依頼例です。

Access VBAです。

レポートをPDF出力する

コードを作成してください。


Copilot活用術② 一括PDF作成

DAOで取得した顧客ごとに

請求書PDFを作成する

コードを作成してください。


Copilot活用術③ 保存処理改善

OutputToコードへ

エラー処理と

存在チェックを

追加してください。


OutputTo利用時の注意点

保存先フォルダ

事前に存在確認しましょう。

Dir(strFolder, vbDirectory)

レポート名

存在しない場合

実行時エラー

になります。


ファイル名重複

日時付与がおすすめです。


PDF出力前にレポート確認

レイアウト崩れを防げます。


OutputToが向いている処理

特に活躍するのは次の用途です。

  • 請求書発行
  • 納品書発行
  • 見積書作成
  • 売上報告書
  • 点検報告書
  • 風量測定報告書
  • 月次管理資料

開発現場での利用頻度

順位用途
1位請求書PDF
2位売上報告書
3位設備点検票
4位月次資料
5位監査資料

実務では非常によく利用される機能です。


まとめ

DoCmd.OutputToはAccess VBAでPDF出力を実現する最も重要な機能の一つです。

特に

  • 請求書発行
  • 設備点検報告
  • 風量測定報告
  • 売上報告書
  • 月次資料作成

などで大きな効果を発揮します。

まずは次のコードを覚えましょう。

DoCmd.OutputTo _

acOutputReport, _

"R_REPORT", _

acFormatPDF, _

strFile

これだけで帳票の電子化や自動化を実現できます。

Copilotを活用すれば、

  • PDF出力コード生成
  • 一括出力処理作成
  • エラーハンドリング追加

も効率的に進められます。

業務システムの自動化を進めるなら、ぜひ習得しておきたい定番テクニックです。

Access VBA逆引き大全 600の極意 Microsoft365/Office2024/2021/2019/2016対応 | E-Trainer.jp[中村峻] |本 | 通販 | Amazon
AmazonでE-Trainer.jp[中村峻]のAccess VBA逆引き大全 600の極意 Microsoft365/Office2024/2021/2019/2016対応。アマゾンならポイント還元本が多数。E-Trainer.jp[中…

コメント

タイトルとURLをコピーしました