Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


493 / 2272 ツリー ←次へ | 前へ→

【11437】PDFでの印刷指示について YUKI 10/2/1(月) 12:04 質問[未読]
【11438】Re:PDFでの印刷指示について 小僧 10/2/1(月) 13:44 発言[未読]
【11441】Re:PDFでの印刷指示について YUKI 10/2/4(木) 10:25 お礼[未読]
【11452】Re:PDFでの印刷指示について YU-TANG 10/2/13(土) 21:32 回答[未読]

【11437】PDFでの印刷指示について
質問  YUKI  - 10/2/1(月) 12:04 -

引用なし
パスワード
   印刷指示について教えて下さい。
テーブルの情報を品番ごとに絞り込んで
PDFに印刷をしております。

    Do Until rs.EOF
      On Error Resume Next
      cn.Execute "drop Table 印刷テーブル"
    sql = ""
    sql = sql & "select * into 印刷テーブル from マスタ "
    sql = sql & "where 品番 = '" & rs("品番") & "'"
    cn.Execute sql
    DoCmd.SelectObject acReport, "マスタ", True
    DoCmd.PrintOut  ←印刷ポート先をPDFに設定してます。
  rs.MoveNext
  Loop

ただこれですと品番ごとに毎回名前で保存する
ダイヤログが出てしまいます。
今までは我慢して使ってたんですが、品番が増えてしまい
出来れば自動的に品番を保存する名前にして保存してくれ
るように仕様を変更したいんですが・・・
こんなことできますかね?

PDFは印刷なのに保存する時の様な使い方ですので
調べるにもどうやったらいいか分かりづらくて・・・

過去ログも見たのですが、もし分かる方がいらしたら
すみませんがアドバイスお願い致します。
※Accessは2003を使っております。

ちなみにAccessvbaは余り詳しくないですが、
アドバイスを頼りになんとかやってみますので
お願い致します。

【11438】Re:PDFでの印刷指示について
発言  小僧  - 10/2/1(月) 13:44 -

引用なし
パスワード
   ▼YUKI さん:
こんにちは。

> DoCmd.PrintOut  ←印刷ポート先をPDFに設定してます。

どの様なソフトを使ってPDF化しているのかにもよりますが
そのソフトの仕様によっては実現できない事もありえますね。

Microsoftの肩を持つ訳ではありませんが
Access2007を使用すると
以下のアドインでPDF出力が可能です。

h tp://www.microsoft.com/downloads/details.aspx?FamilyID=4d951911-3e7e-4ae6-b059-a2e79ed87041&DisplayLang=ja


Access2003という条件を変えずに
無償にてPDF化を行いたい場合は

ReportToPDF : Access のレポートを PDF に変換する機能
h tp://cs.albis.jp/blogs/ms-18e/archive/2007/06/30/5901.aspx

の様なツールもある模様ですが
当方は使用した事がない為
YUKI さんが行いたい事ができるかどうか
正直解りかねます。
(できそうだな、というWeb記事はあったのですが未検証です)

>
>  Do Until rs.EOF
>      On Error Resume Next
>      cn.Execute "drop Table 印刷テーブル"
>    sql = ""
>    sql = sql & "select * into 印刷テーブル from マスタ "
>    sql = sql & "where 品番 = '" & rs("品番") & "'"
>    cn.Execute sql
>    DoCmd.SelectObject acReport, "マスタ", True
>  rs.MoveNext
>  Loop
>

毎回テーブルを破棄→作成の流れは
あまり良い仕様ではないかと思われます。

品番ごとのレポートを出力したいのであれば
印刷テーブルを基にクエリを作って使いまわすか

  Do Until rs.EOF
    DoCmd.OpenReport "レポート名", _
         WhereCondition:="品番 = '" & rs("品番") & "'"
    rs.MoveNext
  Loop

の様にOpenReport メソッドを使って、
WhereConditionを変化させながら出力するか
いずれかの方法で実現できそうですね。

【11441】Re:PDFでの印刷指示について
お礼  YUKI  - 10/2/4(木) 10:25 -

引用なし
パスワード
   小僧 さん返信ありがとうございます。

お礼のメールが遅くなってすみませんでした。
PDFでの自動印刷はやはり難しいんでしょうか。
PDFは詳しく分からないですがクセロ無償製品というのを
ネットでDLして使っています。

印刷ポートにPDFが表示されている為
ACCESSの出力先をPDFにしております。
品番がかなり多いため一つずつ指定するのは
かなり大変なんですがしょうがないですね。

仕様のついても参考しなりました!
これから勉強して効率的なロジックを考えていきます。

ありがとうございました。。

【11452】Re:PDFでの印刷指示について
回答  YU-TANG  - 10/2/13(土) 21:32 -

引用なし
パスワード
   こんばんは、YU-TANG です。

▼YUKI さん:
>印刷ポートにPDFが表示されている為
>ACCESSの出力先をPDFにしております。

仮想プリンタ形式をお使いということですね。
同様の PDF 変換ソフトで、保存ダイアログを抑止できるものとしては、
自分の知る限り下記の二つがあります。

BullZip PDF Printer
ht p://www.bullzip.com/products/pdf/info.php#download
GIGAZINE による紹介→ht p://gigazine.net/index.php?/news/comments/20080116_bullzip_pdf_printer/
※ 商用利用の場合は 10 ユーザーまで

PDFCreator
ht p://www.pdfforge.org/download
GIGAZINE による紹介→ht p://gigazine.net/index.php?/news/comments/20081018_pdfcreator/
※ 商用利用でもユーザー無制限

両者の比較は、下記あたりが参考になるでしょう。

civic site >> PDF CreatorとBullZip PDF Printerを比較してみた
ht p://civic.xrea.jp/2008/01/18/bullzippdfprinter/

両者とも COM に対応していて VBA から完全制御可能です (つまり
ファイル名を印刷前に VBA で設定できます)。
自分は PDF の黎明期から VBA ユーザーが PDF と格闘するのを横目で
眺めてきましたので (自分は使わない)、このレベルの機能がフリーで
提供されるというのは とんでもない時代になったなぁと感慨もひとしお
です (すっかり回顧ジジイモード)。

なお PDFCreator 最新版 (0.9.9) を日本語化するにはちょっと手間が要ります。
必要であれば、下記辺りを参照。

ht p://masa36.typepad.jp/blog/2010/02/pdfcreator-099-%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%89%88%E3%81%9D%E3%81%AE%E5%BE%8C.html

私見では、PDFCreator の方が高機能ではないかと思います (フォント
埋め込みに対応しているし、セキュリティの設定も細かい)。
もっとも、そこまでの機能を必要とするのでなければ、導入の敷居が低い
BullZip で十分とも言えます。

なお自動化するなら、COM や場合によってはコマンドラインの扱いが
必須という意味で、VBA 中級以上推奨です。
それでは。

493 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078193
(SS)C-BOARD v3.8 is Free