プロが教えるわが家の防犯対策術!

win XP
access2003

accessで70種類のレポートを使い分けています。レポートごとに異なるプリンターを指定して印刷してます。
ページ設定でプリンターを設定できますが、レポートの種類が多いため管理が大変です。
簡単な管理法がないでしょうか?

たとえば、テーブルにレポート名、プリンター名、用紙サイズ といったようにして、マクロ(VB)なんかは無理でしょうか?

よろしくお願いします

A 回答 (2件)

リンクの紹介だけでゴメンね


http://www.accessclub.jp/bbs5/0046/vba15265.html

http://www.accessclub.jp/bbs5/0016/vba4586.html
を読んでみれば参考になるかと思います。

考え方としては
現在のインストールされているプリンターの一覧の取得。
Dim Prt As Printer
Dim Rpt As Object

For Each Prt In Application.Printers
Debug.Print "deviceName= " & Prt.DeviceName, "Port= " & Prt.Port
Next

ここから先は未確認です。
プリンタを変更した際に、旧プリンタでの設定を覚えていてくれれば
リンク先のコードを少し手直しすれば出来るかと思います。

印刷設定がご破算になってしまうなら、旧プリンタでの設定を一時的に変数に収めるか
テーブルに保存するかしてから
変更処理を行う必要があります。
  With Reports("レポート名").Printer
  Debug.Print .DeviceName, _
        .BottomMargin, _
        .ColorMode, _
        .ColumnSpacing, _
        .Copies, _
        .DataOnly, _
        .DefaultSize, _
        .DriverName, _
        .Duplex, _
        .ItemLayout, _
        .ItemsAcross, _
        .ItemSizeHeight, _
        .ItemSizeWidth, _
        .LeftMargin, _
        .Orientation, _
        .PaperBin, _
        .PaperSize, _
        .Port, _
        .PrintQuality, _
        .RightMargin, _
        .RowSpacing, _
        .TopMargin
    Debug.Print ""
  End With

以上、部分的な回答です。
進めてゆくのなら、ファイルのバックアップを取ってからに。
私からはここまでです。
    • good
    • 0
この回答へのお礼

ありがとうございます。

VBは詳しくないので少し意味不明ですが、コピーして試してみます。

お礼日時:2012/02/06 14:51

Access2010の場合ですが


レポートをデザインビューで開いて、ページ設定のページタブ中の
その他のプリンターを選択してプリンターの設定で
既存のプリンターを選び、種々の設定を行ってレポートを上書き保存すれば
レポートは設定を覚えてくれます。
これはAccess2000や2007でも同様です。
この事ではないのかな。

VBAならPrinter オブジェクトで設定する方法もありますけど。
http://support.microsoft.com/kb/839378/ja
    • good
    • 0
この回答へのお礼

ありがとございます

既存のプリンターを選び、種々の設定を行ってレポートを上書き保存すれば
レポートは設定を覚えてくれますね。これは実行しています。

プリンターの変更がある場合などは、レポートの数が多いため簡潔な方法をお聞きしたかったのです。

もう少し知恵をお貸しください。

お礼日時:2012/02/03 10:01

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

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