cancel
Showing results for 
Search instead for 
Did you mean: 

Crystal ReportsXIでのプリンタ名を取得して印刷を実行する方法について

Former Member
0 Kudos

以下の開発環境です。

 ・Windows7 32bit

 ・Crystal ReportsXI R2

 ・Visual Basic 6.0

実行ボタンを押下すると指定したクリレポファイルのプリンタ情報を自動で設定をし、

自動で印刷が行われるようなプログラムを作成しています。

コードは以下の通りです。

Dim CRApp As New CRAXDRT.Application

Dim Report As CRAXDRT.Report

Dim ConnectProperty As CRAXDRT.ConnectionProperty

Dim a As Object

Dim b As String

Set Report = CRApp.OpenReport("C:\work\test.rpt", 1)

Report.SelectPrinter "DocuPrint C3200 A", "DocuPrint C3200 A", "192.168.**."

Dim i As Integer

For i = 1 To Report.Database.Tables.Count

Set ConnectProperty = Report.Database.Tables.Item(i).ConnectionProperties.Item("DSN")

ConnectProperty.Value = "TEST"

Set ConnectProperty = Report.Database.Tables.Item(i).ConnectionProperties.Item("User Id")

ConnectProperty.Value = "TEST"

Set ConnectProperty = Report.Database.Tables.Item(i).ConnectionProperties.Item("Password")

ConnectProperty.Value = "TEST"

Next i

'レポート印刷

Report.PrintOut

Set CRApp = Nothing

Set Report = Nothing

Report.SelectPrinter  プリンタドライバ名, プリンタデバイス名,  プリンタポート名

を設定し、Report.PrintOut で印刷を行った際に

Report.PrinterNameには上記SelectPrinterで設定したプリンタデバイス名が設定されていますが、

Report.DriverNameには上記SelectPrinterで設定したプリンタドライバ名が設定されておらず、

"winspool"と設定されています。

Report.PortNameには上記SelectPrinterで設定したプリンタポート名が設定されておらず、

"Ne 02:"と設定されています。

プリンタドライバ名及びプリンタポート名が正しく設定されていないために印刷が行われていない状況です。

プリンタドライバ名及びプリンタポート名の設定方法をご教授頂けますでしょうか?

Edited by: E.Watanabe on Jul 22, 2011 9:14 AM

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

以下のコード記述になると思います。

Report.SelectPrinter "winspool", "
<MachineName>\<PrinterName>", "192.168.**."

Former Member
0 Kudos

開発言語は違うけど、以下のフォーラムは参考になりませんか?

Former Member
0 Kudos

Crystal Reports XI R2(CRW32.exe) でレポートのデザイン時にIPアドレス(?)を持つプリンタに印刷できるのですか。