Microsoft Access ClubAccess超初心者対象ForumAccess初級者対象ForumAccess初・中級者対象ForumAccess VBA Tips ForumDAO、ADO、SQL Forum

     

No76381.VBAでレポートを指定プリンタで印刷する方法について

タイトルVBAでレポートを指定プリンタで印刷する方法について
記事No: 76381
投稿日: 2006/04/18(Tue) 16:04
投稿者: AD
OS:Xp
Access Version:2003

お世話になっております。
一日に何度も申し訳ありませんがお願い致します。

VBAを使用してレポートごとに指定プリンタで印刷を行いたいと思います。
(ページ設定は除いた形でお願いします)
調べたらプレビューにして指定プリンタにする方法までは見つける事ができました。

Dim rpt As Report
DoCmd.OpenReport ReportName:="レポート名", View:=acViewPreview
Set rpt = Reports("レポート名")
rpt.Printer = Application.Printers("プリンタ名")

安易な考えなのですが

DoCmd.OpenReport ReportName:="レポート名", View:=acViewPreview を
DoCmd.OpenReport ReportName:="レポート名", View:=acNormal   に

するだけでよいと思ったのですが、印刷できないので違うようです。
直接印刷させる場合は、どの様に記述すればよいのでしょうか?
それともプレビューにしないと変更できないのでしょうか?

宜しくお願い致します。

タイトルRe: VBAでレポートを指定プリンタで印刷する方法について
記事No: 76383
投稿日: 2006/04/18(Tue) 16:49
投稿者: 四苦八苦
> OS:Xp
> Access Version:2003
>
> お世話になっております。
> 一日に何度も申し訳ありませんがお願い致します。
>
> VBAを使用してレポートごとに指定プリンタで印刷を行いたいと思います。
> (ページ設定は除いた形でお願いします)
> 調べたらプレビューにして指定プリンタにする方法までは見つける事ができました。
>
> Dim rpt As Report
> DoCmd.OpenReport ReportName:="レポート名", View:=acViewPreview
> Set rpt = Reports("レポート名")
> rpt.Printer = Application.Printers("プリンタ名")
>
> 安易な考えなのですが
>
> DoCmd.OpenReport ReportName:="レポート名", View:=acViewPreview を
> DoCmd.OpenReport ReportName:="レポート名", View:=acNormal   に
>
> するだけでよいと思ったのですが、印刷できないので違うようです。
> 直接印刷させる場合は、どの様に記述すればよいのでしょうか?
> それともプレビューにしないと変更できないのでしょうか?
>
> 宜しくお願い致します。

はじめまして
たぶん。下記でいいかと思われますが・・・・

DoCmd.OpenReport "レポート名", acPreview, , "ID ='" & ID(テキスト名) & "'"
DoCmd.PrintOut acPages, Screen.ActiveReport.Page, Screen.ActiveReport.Page

タイトルRe^2: VBAでレポートを指定プリンタで印刷する方法について
記事No: 76384
投稿日: 2006/04/18(Tue) 17:08
投稿者: AD
四苦八苦さん、はじめまして。
お世話になります。


> たぶん。下記でいいかと思われますが・・・・
>
> DoCmd.OpenReport "レポート名", acPreview, , "ID ='" & ID(テキスト名) & "'"
> DoCmd.PrintOut acPages, Screen.ActiveReport.Page, Screen.ActiveReport.Page

ここでいう ID や テキスト名 というのは何が該当する部分なのでしょうか?
理解できず申し訳ありませんが、宜しくお願い致します。

タイトルRe^3: VBAでレポートを指定プリンタで印刷する方法について
記事No: 76387
投稿日: 2006/04/18(Tue) 17:19
投稿者: 四苦八苦
> 四苦八苦さん、はじめまして。
> お世話になります。
>
>
> > たぶん。下記でいいかと思われますが・・・・
> >
> > DoCmd.OpenReport "レポート名", acPreview, , "ID ='" & ID(テキスト名) & "'"
> > DoCmd.PrintOut acPages, Screen.ActiveReport.Page, Screen.ActiveReport.Page
>
> ここでいう ID や テキスト名 というのは何が該当する部分なのでしょうか?
> 理解できず申し訳ありませんが、宜しくお願い致します。

"ID ='" & ID(テキスト名) & "'"
"ID ='はテーブルの方のID
ID(テキスト名)は、フォームでアクティブのIDです。もちろんこの場合は、文字型です。
ただし、これを指定しない場合は、全て印刷するかもしれません。
あと、フォームの概要がわからないので、余り詳しくは説明せきません。

タイトルRe^3: VBAでレポートを指定プリンタで印刷する方法について
記事No: 76388
投稿日: 2006/04/18(Tue) 17:22
投稿者: マロン
希望するプリンターで印刷できない?
printerオブジェクトでプリンターを変更するには
該当プリンターが開いてなければならないのでは?
よって
プリンター設定後、DoCmd.OpenReport をすればできないでしょうか?
もっとも当方は最初
デザインで開く(不可視)→プリンター設定→DoCmd.OpenReportでやってます

タイトルRe^4: VBAでレポートを指定プリンタで印刷する方法について
記事No: 76389
投稿日: 2006/04/18(Tue) 17:35
投稿者: AD
マロンさん、お世話になります。

> 希望するプリンターで印刷できない?
> printerオブジェクトでプリンターを変更するには
> 該当プリンターが開いてなければならないのでは?

ここまではなんとか理解しました。

> よってプリンター設定後、DoCmd.OpenReport をすればできないでしょうか?
> もっとも当方は最初デザインで開く(不可視)→プリンター設定→DoCmd.OpenReportでやってます

大変あつかましいお願いなのですが、不可視した形で記述例を書いて頂けると嬉しいのですが。
無理であれば、少し勉強してみます。

お願い致します。

タイトルRe^5: VBAでレポートを指定プリンタで印刷する方法について
記事No: 76393
投稿日: 2006/04/18(Tue) 18:01
投稿者: マロン
これですか?
DoCmd.OpenReport "レポート名", acViewDesign, , , acHidden
>                        --------

タイトルRe^6: VBAでレポートを指定プリンタで印刷する方法について
記事No: 76395
投稿日: 2006/04/18(Tue) 21:34
投稿者: AD
四苦八苦さん、マロンさん

遅くなって申し訳ありませんでした。
出来るようになるまで時間が掛かってしまいました。

おかげさまで出来る様になりました。
色々と助言頂いてありがとうございます。

また機会があれば宜しくお願い致します。


このAccessフォーラム過去ログ集は、Microsoft Access Club が運営しています


 

ページの先頭へ 前ページへ戻る