- PR -

レポート、プリンタ設定

投稿者投稿内容
どら
ベテラン
会議室デビュー日: 2004/08/18
投稿数: 63
投稿日時: 2006-07-14 21:43
VB2005:ACTIVE REPORTS

いつも、拝見させていただいております。

質問があります。レポートプリンタ設定(拡大、縮小情報、余白等)の情報を保存して、次回からは、その設定を見て自動設定するという機能をつけたいのです。

余白の設定は、PrinterSettings.DefaultPageSettingsとかで、できるのかなっというところなのですが、拡大縮小 (A4の帳票をB4拡大)とかの設定は、できるのか、できないのか、教えていただけたらと思いまして、記述しました。

最初から、プリンタドライバ,A4→B4用、A4→A3と、ドライバを複数インストールし、やる方法しかないのでしょうか?

ご教授お願いいたします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-07-14 22:34
引用:

どらさんの書き込み (2006-07-14 21:43) より:

余白の設定は、PrinterSettings.DefaultPageSettingsとかで、できるのかなっというところなのですが、


はい、可能です。
常套手段としては、XML ファイルに保存して呼び出すというところですね。

引用:

拡大縮小 (A4の帳票をB4拡大)とかの設定は、できるのか、できないのか、教えていただけたらと思いまして、記述しました。


ドライバに依存するので、ActiveReports 側で対応することはできません。

引用:

最初から、プリンタドライバ,A4→B4用、A4→A3と、ドライバを複数インストールし、やる方法しかないのでしょうか?


はい、そうなると思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
どら
ベテラン
会議室デビュー日: 2004/08/18
投稿数: 63
投稿日時: 2006-07-15 11:59
返事おくれて、申し訳ないです。返答ありがとうございます。

やっぱり、そうですか。

プリンタの設定はドライバに依存するので、そうなってしまいますよね。

通常の設定は、xmlファイルに保存してやるのが、いいんですか。

ちょっと、やってみます。

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

どら
ベテラン
会議室デビュー日: 2004/08/18
投稿数: 63
投稿日時: 2006-07-19 11:12
またまた、質問があります。

それぞれの帳票ごとに、違うプリンタを指定したいので、形式をXMLで保存しておき、
レポート表示時にその、ドライバ、余白等を設定したいのですが、余白設定はできるのですが、ドライバ設定ができません。

DIM rpt
rpt = New rptレポート

rpt.PageSettings.PaperKind = str_RSize
rpt.PageSettings.Orientation = DataDynamics.ActiveReports.Document.PageOrientation.Landscape
geOrientation.Landscape
rpt.PageSettings.Margins.Top = str_T
rpt.PageSettings.Margins.Bottom = str_B
rpt.PageSettings.Margins.Left = str_L
rpt.PageSettings.Margins.Right = str_R

と記述し、余白は設定できました、しかしドライバ設定の項目がみあたらなく
PrinterSettings.PrinterNameを
RPT.PrinterSettings.PrinterName = "ドライバ名"とやると、エラーが起こってしまいます。

ACTIC REPの場合は、やり方が違うのでしょうか?・

ご教授お願いいたします
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-07-19 11:26
引用:

どらさんの書き込み (2006-07-19 11:12) より:

RPT.PrinterSettings.PrinterName = "ドライバ名"とやると、エラーが起こってしまいます。


必ずしも、プリンタ名 == "ドライバ名" にはならないのではないでしょうか?
PrinterName プロパティには、オペレーティング システムが認識している "プリンタ名" を指定します。

まずは、PrinterSettings.InstalledPrinters プロパティで全プリンタ名を列挙してみてください。
これは、意図した "プリンタ名" が指定できているか、確認 (デバッグ) するための作業です。

それと、"エラーが起こってしまいます" とありますが、これは例外のことですよね?
であれば、'どのタイミングで起きた' のでしょうか?

通常、PrinterName プロパティを設定した後は、IsValid プロパティを参照し、
設定した "プリンタ名" が有効かどうかを確認します。
そうしないと、イレギュラー処理 (プリンタが設定されていない) に対応できません。

これを行わずして、'印刷処理の際に' 例外が起きてしまったのであれば良いのですが、
PrinterName プロパティに設定した時点で、例外が起きたのでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
どら
ベテラン
会議室デビュー日: 2004/08/18
投稿数: 63
投稿日時: 2006-07-19 11:35
返答ありがとうございます。

すいません。プリンタ名の間違いでした。

PrinterSettings.InstalledPrintersで確認した結果、xmlで記述されているプリンタとInstalledPrintersは、一致しています。

For i = 0 To PrinterSettings.InstalledPrinters.Count - 1
pkInstalledPrinters = PrinterSettings.InstalledPrinters.Item(i)
If (pkInstalledPrinters) = str_PName Then
       '取得したプリンタ名とxmlないのプリンタ名の比較
rpt.PrinterSettings.PrinterName = str_PName
'一致したら、プリンタを設定
End If
Next

となっておりまして、
rpt.PrinterSettings.PrinterName = str_PName でエラーが起こってしまいます。
「公開メンバ 'PrinterSettings' は型 ' rptレポート' に見つかりませんでした。」

というエラーメッセージでした。

プリンタを設定したときにエラーが起こってしまうみたいでした。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-07-19 11:41
引用:

どらさんの書き込み (2006-07-19 11:35) より:

PrinterSettings.InstalledPrintersで確認した結果、xmlで記述されているプリンタとInstalledPrintersは、一致しています。
(snip)
rpt.PrinterSettings.PrinterName = str_PName でエラーが起こってしまいます。
公開メンバ 'PrinterSettings' は型 ' rptレポート' に見つかりませんでした。
というエラーメッセージでした。


これは、「コンパイル エラー」 でしょうか?

引用:

プリンタを設定したときにエラーが起こってしまうみたいでした。


それとも、実行時に起きる 「例外」 でしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
どら
ベテラン
会議室デビュー日: 2004/08/18
投稿数: 63
投稿日時: 2006-07-19 11:47
返答ありがとうございます。

記述足らずで申し訳ないです。

コンパイルエラーではなく、実行時に例外が発生してしまいます。

あと、DIM rpt は 現在Public Shared rpt と グローバルで宣言しています。

dim で宣言したときも、同じメッセージ、例外発生でした。

先ほどのメッセージは、例外catchしたときのメッセージです。

お願いいたします。

スキルアップ/キャリアアップ(JOB@IT)