ocrapplication = CREATEOBJECT('CrystalRuntime.Application.8.5') orep=ocrapplication.OpenReport("c:\report1.rpt") orep.PrinterSetup(_screen.HWnd)This will bring up the printer selector.
SET PRINTER TO NAME GETPRINTER()The use the SelectPrinter() of Crystal by using:
myPrinter = SET("PRINTER",3) orep.SelectPrinter(myPrinter,myPrinter,"LPT1")Or if you really want to make sure it will go to the right printer, you can make the selected printer the Windows default printer. (Sometimes that is the only way to do it).
SET PRINTER TO NAME GETPRINTER() myPrinter = SET("PRINTER",3) oNet = CREATEOBJECT("WScript.Network") oNet.SetDefaultPrinter(myPrinter)If you use this, it will chage the Windows default printer for all other applications, you may consider to set it back after.
>>Local cDef_printer >>cDef_printer = SET("PRINTER",2) && Or SET("PRINTER",3) >>ocrreport.PrinterName=cDef_printer >>>>
>>> >>>SET DEFAULT TO ( cdirectory ) >>> >>>gnNombreDbc = ADIR( gaBaseDonnées, '*.Rpt') && Crée un tableau >>>SET DEFAULT TO ( SetOldDefault ) >>> >>>ocrapplication = CREATEOBJECT('CrystalRuntime.Application.8.5') >>> >>> >>>FOR nCompteur = 1 TO gnNombreDbc && Effectue une boucle pour connaître le nombre de bases de données >>> cName = "C:\cdbk70\amline\ReportsCrystal\" + PROPER( gaBaseDonnées( nCompteur , 1 ) ) >>> WAIT WIND cName NOWAIT && Affiche le nom des bases de données >>> >>> ocrreport = ocrapplication.OpenReport( cName , 1 ) >>> ocrreport.DATABASE.verify() >>> ocrreport.SAVEAS( cName , 2048 ) >>> ocrreport = .NULL. >>>ENDFOR >>> >>>>>>