![](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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【VBA】PDF出力に任意のファイル名前を付ける方法 3 2023/07/21 10:55
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- Visual Basic(VBA) 複数ページあるPDFファイル内の文字列等の情報をキーにPDFをグループ分け分割したい。 2 2022/06/25 09:51
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Excel(エクセル) フォルダAから1つのファイルだけを、フォルダBへを移動するVBAについて 2 2022/07/25 11:45
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- その他(Microsoft Office) Wordを変換してExcelに挿入 2 2022/07/04 23:59
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
Acccess レポートをグループ別に出力する
Visual Basic(VBA)
-
ACCESS2010 レポートを分割しPDF化
Access(アクセス)
-
Accessフォーム全レコードをPDFで個別保存
その他(データベース)
-
-
4
Access2013でレポートを名前を付けて一括PDF化する方法
その他(データベース)
-
5
Access2007でページ毎にPDFを出力したい
その他(Microsoft Office)
-
6
ACCESSレポートをPDFに出力したい
その他(OS)
-
7
AccessVBAでレポートをPDFで出力
Visual Basic(VBA)
-
8
AccessのレポートからPDFをページ毎に作成
Access(アクセス)
-
9
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
10
ACCESSの複数レポートの印刷について。
Access(アクセス)
-
11
AccessVBA複数レポート条件毎にまとめて出力
Visual Basic(VBA)
-
12
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
13
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
14
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
15
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
16
Access サブフォームでの選択行の取得
その他(データベース)
-
17
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
18
アクセスのレポート合成(複数のレポートを一つにまとめる方法)
その他(データベース)
-
19
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
20
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
スマホのバッテリー消費につい...
-
OBS配信すると、マイクが途切れ...
-
cout と cerrの違い
-
太陽光パネル 12v直列接続 ...
-
4Kの外部モニターに出力すると...
-
【UWSC】WEBページ中の特定文字...
-
MMDでavi出力が出来ない
-
Windows Formアプリからコンソ...
-
coutで出力した文字を消去する...
-
携帯の液晶画像をパソコンに出...
-
コンセントの電力は入力と出力...
-
プログラムについての質問です...
-
Zガンダムのハイザックて、ジェ...
-
Anker社の充電器について。 Ank...
-
昨日SSDを増設したら、PCが点か...
-
printfとputcharの違いは
-
ACCESS フォームで選択したレコ...
-
TV出力ポートをOFFにすれば良い...
-
VBAでテキスト出力時のスペース...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
プログラムについての質問です...
-
printfとputcharの違いは
-
cout と cerrの違い
-
COBOLのMOVEで桁数が異なる場合
-
テキストファイルから特定の文...
-
MMDでavi出力が出来ない
-
コンセントの電力は入力と出力...
-
アクセスでエクセルに出力する...
-
OBS配信すると、マイクが途切れ...
-
coutで出力した文字を消去する...
-
CRC16計算について
-
VBA レジストリの値の読み方に...
-
ACCESS クエリ→フォーム...
-
printfの書式%.*s
-
VBAで有効数字の設定
-
VBAでテキスト出力時のスペース...
-
VBAのExecメソッドで画面を非表...
-
makeで文字化けする。migwのmak...
おすすめ情報