現在、私はpdfcreatorを使用してレポートをpdf形式に変換しています。これは手動で行う必要がありますので、私はPDFファイルとしてレポートを自動的に保存するソリューションを探しています。コードは、Access 2000以降のバージョンで動作している必要があります。レポートをPDF形式で保存
前に、私はこのアプローチを使用しました答えて
私たちは、PDFファイルを生成するStephen Lebans' ReportToPDFを使用しています。
私たちはAccess 2003を使用し、A2000、2002および2003(A2007はすぐにPDFをサポートしています)で動作します。
アプリケーションフォルダまたは%windir%\system32
フォルダにある必要があるDLLは2つしかありません。は登録する必要はありません。
すべてのマシンにPDFプリンタをインストールするよりも、2つのファイルをコピーするだけで簡単なので、PDFプリンタの代わりにこのソリューションを使用することをお勧めします。
:これは私がすなわち無人と迷惑のないPDF形式へのMicrosoft Access レポートの印刷を自動化するために使用される手法であるhttp://bytes.com/topic/access/answers/204362-howto-automate-printing-access-reports-pdf-files
「名前を付けて保存...」 ダイアログをさらに重要なことに、Adobe Acrobatやその関連APIなどの商用の プログラムを使用する必要はありません。ラッセル・ラングによって無料で提供PDF文書を作成するための2つの自由 プログラム -
技術はGhostscriptのとリダイレクトポートモニタを使用しています。 実際の自動化では、FileSystemObject、 WScript.Network(Windows Script Host Network Object)とAccess オートメーションを使用してVBAコーディングが必要です。
INSTRUCTIONS:
1)Ghostscriptの インストール - ポストスクリプト言語のための通訳やPDF http://www.cs.wisc.edu/~ghost/
2)RedMonインストール - リダイレクトポートモニタ を - プログラムに特別なプリンタポートをリダイレクト(例えば などGhostscriptの) http://www.cs.wisc.edu/~ghost/redmon/
3)は、仮想PDFプリンタを設定します http://masterdev.dyndns.dk/know/freepdf.html http://stat.tamu.edu/~henrik/GSWriter/GSWriter.html
4)設定します。 - GhostscriptのとRedmon を使用してここで 上記のツールをインストールする方法について説明します2つのWebページがあります 「プログラムの出力扱い」 - 新しいPDFファイルは常に Cすなわち同じファイルに保存してくださいを:\一時\のoutput.pdf
- 出力 :以下mannter でPDF仮想プリンタで使用されるRedMonプリンタポート"Program Arguments"の設定にこれを使用してください: @c:\ gs \ pdfconf.txt -sOutputFile = "C:\一時\のoutput.pdf" -c .setpdfwrite -f -
(リテラルファイルパスの代わりに "%1" を注意してください)
5)印刷し、独自のVisual Basicのコードを書きますpdf に報告し、FileSystemObjectを使用して chosingの名前/場所にコピーします。 WScript.Networkオブジェクトを使用して、デフォルトのプリンタ を通常のデフォルトプリンタからPDFプリンタに変更して元に戻します。
サンプルコード(アクセスVisual Basicの):Access 2000の内部で動作するように上記のコードについては
Sub PrintReportToPDF(strReport as String, _
strOutputPath as String)
Const PDF_PRINTER as String = "PDF Printer"
Const ORIGINAL_PRINTER as String = "\\OFFICE\HP1320"
Const TEMP_PATH as String = "C:\temp\output.pdf"
Dim net as WScript.Network
Dim fso as Scripting.FileSystemObject
Set net = new WScript.Network
net.setDefaultPrinter PDF_PRINTER
DoCmd.OpenReport strReport
Set fso = New Scripting.FileSystemObject
fso.CopyFile TEMP_PATH, strOutputPath, True
fso.DeleteFile TEMP_PATH
Set fso = Nothing
net.setDefaultPrinter ORIGINAL_PRINTER
Set net = Nothing
End Sub
は、MicrosoftスクリプトランタイムおよびWindows Script Hostの オブジェクトモデルに の参照を追加する必要があります。
これまでの私の経験では、ときFileSystemObjectオブジェクト DoCmd.OpenReport()は非常に迅速にPDFにレポートを出力 を終了サブルーチンが...しかし、あなたは非常に 大きなレポートを持っている場合output.pdfがあるかもしれないということですそれを移動/名前変更します。したがって、Windows API Sleep()関数を使用することができます。 読者へ 演習として残して複数のレポートを出力するルーチンを書く< http://support.microsoft.com/kb/q162150/>
参照してください。個人的には、レポート名 をVBAモジュールにハードコードするのではなく、「Settings_Reports」というテーブルの テーブルにレポートを保存することをお勧めします。
その他のヒント:
使用
DoCmd.SendObject()
は、管理者に新しく作成された レポートのメール送信を自動化します。- は、一つのファイルに URLを異種のPDFレポートをマージするPDFツールキットを使用します。また、これは
WScript.Shell.Run()
メソッドを介してVBAシェル()関数を使用して自動化された、または のVBScriptで使用することができるhttp://www.accesspdf.com/pdftk 使用するVBScript ExcelやWordと同様に、Accessを自動化することができます。次のマイクロソフトサポート技術情報の記事を参照してください : ACC:オートメーションサーバーとしてMicrosoft Accessを使用し http://support.microsoft.com/kb/q147816/
コード断片(VBScriptの):回答
dim acc
set acc = CreateObject("Access.Application")
with acc
..OpenCurrentDatabase "C:\Reports\Sales.mdb"
' Call the customer subroutine we defined earlier
..Run("PrintReportToPDF", "rptSalesFigures_Monthly", _
"N:\Marketing\Reports\SalesSummary" _
& Year(Date()) & Format(Month(Date()),"00")
[Etc...]
言うまでもなく、そのことができますがたくさんありますそのアプローチで済ませてください。 そして、最も重要な点は、別のAPI(標準のWindows Script HostとMicrosoft Scripting Runtime ライブラリ以外の 以外のもの)を習得する必要がないことです。そして、最高ののは、 完全無料です! PDFプリンタの設定
:ここ が 仮想PDFプリンタのインストールおよび構成のための、より詳細な指示している - からcribbed: < http://masterdev.dyndns.dk/know/freepdf.html>
はCにGhostscriptをインストールします。 http://www.ghostscript.com/doc/AFPL/index.htm \
テキストファイル(c:\ gs \ pdfconf.txt)を作成し、次のテキストを追加します。
-Ic:\ GS \ gs8.11 \ LIB; C:\ GS \フォント -sDEVICE = pdfwrite -dNOPAUSE -dSAFER
なお、バージョン8.11に最初のラインポイントゴーストスクリプト。 異なるバージョンを使用している場合、または別のバージョンの にインストールした場合は、適切な変更を行います。
ダウンロード、あなたはsetup.exeを実行すると、あなただけのメッセージボックスが表示されます http://www.cs.wisc.edu/~ghost/redmon/index.htm
- 解凍、およびRedMon(リダイレクトPortMonitor)をインストールします。
ゴープリンタ/ファックス用のWindowsの[スタート]ボタンの下のメニューと に新しいプリンタを追加します。
- プリンタのドライバは、/ color postscript/ プリンタ用でなければなりません。私は、HPの色のLaserjetに4550 PSを選んだ
- プリンタポートRPT1に設定します(リダイレクトされたポート)
設定ポート リダイレクトポートへ:「C:\ gsの\ gs8.11 \ビン\のgswin32c .EXE "このプログラムの (異なる場合は、お使いのバージョンと のGhostscriptの場所を反映するように、この行を更新します)
引数は以下のとおりです。 @c:\ GS \ pdfconf.txt -sOutputFile =" %1 "-c .setpdfwrite -f -
出力:「ファイル名のプロンプト」を ラン:「ノーマル」
- は、このプリンタにカラーで何かを印刷してみてください。すべてが正常に動作する場合は、PDFファイルが に保存されるようにするファイル名の入力を求められます(.PDF拡張子を忘れないでください)。 ' これは誰かを助けることを願っています!
- 1. レポートをpdfに保存
- 2. jantperviewerの.html以外の形式でレポートを保存する
- 3. Webページをjava形式でPDFに保存する方法は?
- 4. フォーム結果をPDF形式で保存します。
- 5. python-htmlページをpdf形式で保存するには?
- 6. html/phpページをpdf形式で保存するには?
- 7. SSRSレポートをpdf形式で公開する
- 8. データの保存形式前
- 9. フォームデータをJSON形式で保存する
- 10. アスキー形式で保存されたオーディオ形式
- 11. SSRSレポートのPDF、EXCEL、およびMS-Word形式へのエクスポート
- 12. グラフでレポートを作成し、pdfに保存
- 13. データベースにhtml形式のテキストを保存
- 14. 同じテンプレートを使用してCSV形式とPDF形式でレンダリングするJasperレポート
- 15. TeXnicCenter - PDF形式で開く
- 16. .cpp形式のファイルをVCExpressに.cpp.9.0形式で保存できません。
- 17. DateTimeを米国形式で保存し、英国形式で表示します
- 18. PDF形式のプリンタフレンドリーなページ
- 19. plist xmlファイルをhtml/pdf形式で
- 20. YiiでPDF形式のドキュメントを印刷
- 21. Python:html形式のレポートを作成
- 22. テキストファイルを作成してJavaでunix形式で保存する
- 23. MatlabでプロットをPNG形式で保存する
- 24. WP7でビットマップをPNG形式で保存する
- 25. HTML形式からPDF形式(クライアント側、あらかじめデザインされたPDF形式)
- 26. Powershellを使用してデータテーブルをCSV形式で保存する
- 27. Webダウンロードを開始し、.jar形式で保存しますか?
- 28. Openxml - 非標準のxlsxを標準形式で保存する
- 29. UIWebViewのコンテンツを.webarchive形式で保存するには?
- 30. MVC Symfony2データベースにBLOB形式で画像を保存