- ベストアンサー
AccessレポートをExcel2010PDF出力
AccessからレポートのPDF出力を考えています。 DoCmd.OutputTo acOutputReport, Source, acFormatPDF, FileName Access2007以降なら上の文でPDF出力できますが、Access2003とExcel2010がインストール された環境で、Access2003からExcel2010の機能を使ってPDF出力させることは可能でしょうか。 AccessからExcelのワークシート関数を使ったり、Excelファイルを開いて編集することはできたので、 PDF出力もできるかもしれないと思い、質問しました。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ゴメン。 激しく勘違な回答のようです。 Access2003でPDF出力ですよね。Excel2010みたいに。 本家AcrobatやフリーウェアのBullZipPDFなどのPDF出力アプリを別途用意しないと 無理のように思います。
その他の回答 (2)
- hatena1989
- ベストアンサー率87% (378/433)
ExcelにはAccessのレポートを読み込む機能はないので無理なような気がします。 下記で紹介されているフリーソフトを使うというのはどうでしょうか。 レポートを PDF 出力するフリーウェアまとめ | YU-TANG's MS-Access Discovery http://www.f3.dion.ne.jp/~element/msaccess/AcTipsRptBestFreewareForPDF.html
- NotFound404
- ベストアンサー率70% (288/408)
Microsoft Excel 14.0 Object Library に参照設定した事前バインディングだと こんな感じかもしれない。 実行時だと、Excel.・・・ を Object で宣言して…多分どちらかは動くのでは?と。 Office2010 しか入れてないので検証不可。 普段、xls ファイルをダブルクリックで開いたときに2003が立ち上がる時でも大丈夫? >AccessからExcelのワークシート関数を使ったり 私よりも詳しそうなので、この辺で。 Sub ine() Dim xl2010 As Excel.Application Dim bk As Excel.Workbook Dim sh As Excel.Worksheet Set xl2010 = CreateObject("excel.application.14") Set bk = xl2010.Workbooks.Add bk.Worksheets(1).cells(1, 1) = "出来たかな?" bk.Worksheets(1).ExportAsFixedFormat Type:=xlTypePDF, FileName:="E:\Book1.pdf", _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=True bk.Close savechanges:=False Set bk = Nothing xl2010.Quit Set xl2010 = Nothing End Sub
お礼
Access2003とExcel2010がインストールされた環境で、Access側で「Microsoft Excel14.0 Object Library」に参照設定しておけば、Access2003から*.xlsを開いて編集して、上書き保存することや、 VBAでExcelのワークシート関数を使うことができます。 このため、Ecxel2010のPDF出力機能も使えないか、と思ったのです。 質問してからいろいろ調査したところ、Access2003からは、たとえExcel2010に参照設定しても、office2003以降の新機能に対応する命令は発行できないことがわかりました。 例えば、Access2003で*.xlsを開き、FileFormatをExcel2010のデフォルトに指定して*.xlsxに 保存しようとしても、Excel2003のデフォルトである*.xlsで上書き保存してしまいます。 また、本来の目的・レポートのPDF出力は、そもそもExcel2010はワークシートをPDFに変換できても、レポートの場合はPDFに変換する以前に、レポートを表示する機能すらないことに付きました。 結局、別途PDF出力ルーチンを作って組み込むことにしました。 ※蛇足※ 実はAccess2010も持っているのですが、あまりの使いにくさに戻してしまいました。 ユーザーインターフェイス以外は2010の方が多くの点で優れているのに、もったいない.....