- - PR -
レポート、プリンタ設定
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-07-14 21:43
VB2005:ACTIVE REPORTS
いつも、拝見させていただいております。 質問があります。レポートプリンタ設定(拡大、縮小情報、余白等)の情報を保存して、次回からは、その設定を見て自動設定するという機能をつけたいのです。 余白の設定は、PrinterSettings.DefaultPageSettingsとかで、できるのかなっというところなのですが、拡大縮小 (A4の帳票をB4拡大)とかの設定は、できるのか、できないのか、教えていただけたらと思いまして、記述しました。 最初から、プリンタドライバ,A4→B4用、A4→A3と、ドライバを複数インストールし、やる方法しかないのでしょうか? ご教授お願いいたします。 | ||||||||||||
|
投稿日時: 2006-07-14 22:34
はい、可能です。 常套手段としては、XML ファイルに保存して呼び出すというところですね。
ドライバに依存するので、ActiveReports 側で対応することはできません。
はい、そうなると思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-07-15 11:59
返事おくれて、申し訳ないです。返答ありがとうございます。
やっぱり、そうですか。 プリンタの設定はドライバに依存するので、そうなってしまいますよね。 通常の設定は、xmlファイルに保存してやるのが、いいんですか。 ちょっと、やってみます。 ありがとうございました。 | ||||||||||||
|
投稿日時: 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の場合は、やり方が違うのでしょうか?・ ご教授お願いいたします | ||||||||||||
|
投稿日時: 2006-07-19 11:26
必ずしも、プリンタ名 == "ドライバ名" にはならないのではないでしょうか? PrinterName プロパティには、オペレーティング システムが認識している "プリンタ名" を指定します。 まずは、PrinterSettings.InstalledPrinters プロパティで全プリンタ名を列挙してみてください。 これは、意図した "プリンタ名" が指定できているか、確認 (デバッグ) するための作業です。 それと、"エラーが起こってしまいます" とありますが、これは例外のことですよね? であれば、'どのタイミングで起きた' のでしょうか? 通常、PrinterName プロパティを設定した後は、IsValid プロパティを参照し、 設定した "プリンタ名" が有効かどうかを確認します。 そうしないと、イレギュラー処理 (プリンタが設定されていない) に対応できません。 これを行わずして、'印刷処理の際に' 例外が起きてしまったのであれば良いのですが、 PrinterName プロパティに設定した時点で、例外が起きたのでしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 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レポート' に見つかりませんでした。」 というエラーメッセージでした。 プリンタを設定したときにエラーが起こってしまうみたいでした。 | ||||||||||||
|
投稿日時: 2006-07-19 11:41
これは、「コンパイル エラー」 でしょうか?
それとも、実行時に起きる 「例外」 でしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-07-19 11:47
返答ありがとうございます。
記述足らずで申し訳ないです。 コンパイルエラーではなく、実行時に例外が発生してしまいます。 あと、DIM rpt は 現在Public Shared rpt と グローバルで宣言しています。 dim で宣言したときも、同じメッセージ、例外発生でした。 先ほどのメッセージは、例外catchしたときのメッセージです。 お願いいたします。 |