Я пытаюсь печатать с выбранного сетевого принтера.Иногда он работает, но в других случаях он не печатается, выдавая следующую ошибку:
"Указан неверный принтер. MyCrystalRPTfilename 11124_5324_ {67F07633-5EF3-49B4-9573-BB34151D75BA} .rpt"
Я нашел различные части кода ниже из сети. Я знаю, что здесь уже спрашивали, но приведенные решения не работают для меня , может быть, я просто что-то упустил.
Try
Dim PrintDialog1 As New PrintDialog
PrintDialog1.ShowDialog()
PrintDocument1.PrinterSettings.PrinterName = PrintDialog1.PrinterSettings.PrinterName
Dim prtdoc As New PrintDocument
Dim strDefaultPrinter As String = PrintDialog1.PrinterSettings.PrinterName
Dim cryRpt As New ReportDocument
Dim crtableLogoninfos As New TableLogOnInfos
Dim crtableLogoninfo As New TableLogOnInfo
Dim crConnectionInfo As New ConnectionInfo
Dim CrTables As Tables
Dim CrTable As Table
cryRpt.Load("C:\path\of\my\report\MyCrystalRPTfilename.rpt")
With crConnectionInfo
.ServerName = "myserver"
.DatabaseName = "mydbase"
.UserID = "myuser"
.Password = "mypassword"
End With
CrTables = cryRpt.Database.Tables
For Each CrTable In CrTables
crtableLogoninfo = CrTable.LogOnInfo
crtableLogoninfo.ConnectionInfo = crConnectionInfo
CrTable.ApplyLogOnInfo(crtableLogoninfo)
Next
cryRpt.Refresh()
cryRpt.PrintOptions.PrinterName = strDefaultPrinter
cryRpt.PrintOptions.PaperSource = CrystalDecisions.[Shared].PaperSource.Auto
cryRpt.PrintToPrinter(1, False, 1, 1)
Catch ex As Exception
MessageBox.Show(ex.InnerException.ToString())
End Try