以下の開発環境です。
・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