dポイントプレゼントキャンペーン実施中!

Acrobat StandardがインストールされたマシンでAccessのレポート機能を使って、印刷を行うときに、出力先をAdobePDFにしたいのですが、ページ毎にファイルを分けて印刷を行いたいと考えています。

1ページずつページ指定をして出力するような手動方式ではなく自動で行う方法はありますか。

A 回答 (2件)

Sub t()


Dim rpt As Report
Dim rptName As String
Dim printCount As Integer
Dim i As Integer
rptName = "あれを"
DoCmd.OpenReport rptName, acViewPreview ', wherecondition:=""
Set rpt = Reports(rptName)
printCount = rpt.Pages

Do Until i > printCount
DoCmd.PrintOut acPages, i, i
i = i + 1
Loop

DoCmd.Close acReport, rpt.Name
MsgBox "fin"

End Sub
とかで総ページ数を取得して・・
ところで、AdobePDFでは同名の既存ファイルがあった場合、
ファイル名に連番を付加するとか、
既定ファイル名を出力日時にするとかのオプションは
無いのですかね?
当方持ち合わせておりませんので分かりませんが。

あるいは妥協してスナップショットでしたらファイル名を指定できますが・・
DoCmd.OutputTo acOutputReport, "R発注書", "SnapshotFormat(*.snp)", strFileName,
    • good
    • 0
この回答へのお礼

ありがとうございます。参考になりました。
AdobePDFでは、レポートの標題(なければレポート名)がファイル名になるようでしたから、レポートの標題を変えながら印刷を行ったらうまくいきました。

お礼日時:2006/05/17 23:23

Acrobat Ditillerを使用すればレポート名のままPDFに保存できませんか。


または
プリンタ名にAcrobat WriterとAdobe Distillerがあるかどうかを確認してみてください。
マクロでもVBでも出力時にAdobe Distillerを使用して出力すればできませんでしょうか。

この回答への補足

プリンタ名にはAdobePDFというものがあります。
ちなみにバージョンは7.0です。

出力先をAdobePDFにすれば、レポート名のままPDFに保存ができますが、ページ毎にファイルを分けて保存する方法が分かりません。つまり100ページのレポートがあったときに、100のPDFファイルを作成する方法です。

補足日時:2006/05/16 21:08
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています