![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
○環境
Access2007or2010
Windows7Pro
Accessで、帳票をPDFファイルにして出力することを考えています。
VBAのコードで
DoCmd.OutputTo acOutputReport, (オブジェクト名), acFormatPDF, (ファイルのパス)
と書けば出力できることを確認しました。
さらに、10ページあるレポートならば、10のPDFファイルに分割して出力したいと考えています。
が、そこまで方法を書いたページが見つかりません。
別ソフトと組み合わせてもいいので、何か方法をご存じの方はお教えください。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
追伸
もし無ければレポートの適当なところに、不可視でも構わないので
テキストボックスを1個配置して、コントロールソースに
=[Pages]
と設定して置いてください。
詳細なアドバイスありがとうございます。
結局、これとは違う方法で解決することにしました。
上記レポートはデータベースをselectした結果を出力するものなのですが、
そこに繰り返し処理を加えてDoCmd.OutputToをページ数ぶん繰り返すことにしました。
今回は使いませんでしたが、nicotinismさんの回答が他の方の助けになればと思います。
No.1
- 回答日時:
Adobe の Acrobat はお持ちでは無いでしょうか。
これを購入して・・
とてもお高いので。。私は下記の PDFCreator を使わせてもらっています。
http://sourceforge.jp/projects/pdfcreator/
簡単な説明は上記リンクをご覧いただくとして
オプションの AutoSave にチェックを入れ Filename には <Title> として
おいて置けば自動的に保存されます。
※ただし日本語(全角文字)は使えません
なので別名で保存した後で、ファイル名を書き戻す必要が無いかも?
(詳しくは最後の方に)
Sub pdfPrint(rptName As String)
'1ページずつPDFで印刷
'rptNameにはレポート名(※PDFCreatorで出力するように設定してあること)
Dim rpt As Report
Dim printCount As Integer
Dim i As Integer
DoCmd.OpenReport rptName, acViewPreview, windowmode:=acIcon
Set rpt = Reports(rptName)
If MsgBox(rpt.Printer.DeviceName & " で印刷します", vbOKCancel) = vbCancel Then
DoCmd.Close acReport, rpt.Name, acSaveNo
Set rpt = Nothing
Exit Sub
End If
printCount = rpt.Pages
Do Until i > printCount
i = i + 1
rpt.Caption = rpt.Name & Format(i, "-000")
DoCmd.PrintOut acPages, i, i
Loop
DoCmd.Close acReport, rpt.Name, acSaveNo
Set rpt = Nothing
MsgBox rptName & " の印刷終了"
End Sub
なお、YU-TANG さんが詳しい解説をされています。
レポートを PDF 出力する方法~ PDFCreator 編~
http://www.f3.dion.ne.jp/~element/msaccess/AcTip …
また、日本語化を行った有志の方を紹介されています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
Acccess レポートをグループ別に出力する
Visual Basic(VBA)
-
ACCESS2010 レポートを分割しPDF化
Access(アクセス)
-
Accessフォーム全レコードをPDFで個別保存
その他(データベース)
-
-
4
Access2013でレポートを名前を付けて一括PDF化する方法
その他(データベース)
-
5
Access2007でページ毎にPDFを出力したい
その他(Microsoft Office)
-
6
AccessVBAでレポートをPDFで出力
Visual Basic(VBA)
-
7
ACCESSレポートをPDFに出力したい
その他(OS)
-
8
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
9
AccessのレポートからPDFをページ毎に作成
Access(アクセス)
-
10
ACCESSの複数レポートの印刷について。
Access(アクセス)
-
11
AccessVBA複数レポート条件毎にまとめて出力
Visual Basic(VBA)
-
12
アクセスのレポート合成(複数のレポートを一つにまとめる方法)
その他(データベース)
-
13
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
14
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
15
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
16
Access サブフォームでの選択行の取得
その他(データベース)
-
17
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
18
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
19
Accessのテーブルを既存のExcelファイルへエクスポートしたいんですが
Access(アクセス)
-
20
ACCESSのマクロで特定のレポートを印刷・保存したいが・・・
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
PC電源は、出力DC12VとDC5Ⅴで...
-
4Kの外部モニターに出力すると...
-
MMDでavi出力が出来ない
-
アクセスでエクセルに出力する...
-
スマホのバッテリー消費につい...
-
エクセル マクロ 組み合わせ全...
-
COBOLのMOVEで桁数が異なる場合
-
CrystalReportの文字列の折返し...
-
cout と cerrの違い
-
printfの書式%.*s
-
DVDの画質について
-
【EIGRP】Neighbor-ChangeのMes...
-
プログラムについての質問です...
-
Windows Formアプリからコンソ...
-
【VBA】PDFを2in1で出力したいです
-
C# 標準出力のencodingをutf8に...
-
KEYENCEのシーケンスプログラム...
-
詳しくないので、どなたかお教...
-
配列とポインタ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
プログラムについての質問です...
-
printfとputcharの違いは
-
アクセスでエクセルに出力する...
-
VBAでテキスト出力時のスペース...
-
【ExcelVBA】最終行の取得で困...
-
cout と cerrの違い
-
COBOLのMOVEで桁数が異なる場合
-
コンセントの電力は入力と出力...
-
MMDでavi出力が出来ない
-
coutで出力した文字を消去する...
-
ACCESS クエリ→フォーム...
-
ListViewの複数選択について
-
無線とかアンテナに関しの質問...
-
テキストファイルから特定の文...
-
スマホのバッテリー消費につい...
-
VBAで有効数字の設定
-
VBAのExecメソッドで画面を非表...
-
【UWSC】WEBページ中の特定文字...
おすすめ情報