• 締切済み

access2003 レポートごとにプリンター指定

win XP access2003 accessで70種類のレポートを使い分けています。レポートごとに異なるプリンターを指定して印刷してます。 ページ設定でプリンターを設定できますが、レポートの種類が多いため管理が大変です。 簡単な管理法がないでしょうか? たとえば、テーブルにレポート名、プリンター名、用紙サイズ といったようにして、マクロ(VB)なんかは無理でしょうか? よろしくお願いします

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

リンクの紹介だけでゴメンね http://www.accessclub.jp/bbs5/0046/vba15265.htmlhttp://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 以上、部分的な回答です。 進めてゆくのなら、ファイルのバックアップを取ってからに。 私からはここまでです。

kapatool
質問者

お礼

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

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

Access2010の場合ですが レポートをデザインビューで開いて、ページ設定のページタブ中の その他のプリンターを選択してプリンターの設定で 既存のプリンターを選び、種々の設定を行ってレポートを上書き保存すれば レポートは設定を覚えてくれます。 これはAccess2000や2007でも同様です。 この事ではないのかな。 VBAならPrinter オブジェクトで設定する方法もありますけど。 http://support.microsoft.com/kb/839378/ja

kapatool
質問者

お礼

ありがとございます 既存のプリンターを選び、種々の設定を行ってレポートを上書き保存すれば レポートは設定を覚えてくれますね。これは実行しています。 プリンターの変更がある場合などは、レポートの数が多いため簡潔な方法をお聞きしたかったのです。 もう少し知恵をお貸しください。

関連するQ&A