Kbase 21178: ACTIVEX -- How to Change the Excel Printer from 4GL
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  12/27/2004 |
|
Status: Unverified
GOAL:
How to change the printer that Excel will use to print a worksheet.
FIX:
DEFINE BUTTON bprintset LABEL "Printer Setup".
DEFINE BUTTON bexcelprint LABEL "Print to Excel".
DEFINE BUTTON bcancel LABEL "Cancel".
DEF VAR printername AS CHAR.
DEFINE FRAME PrintFrame
bprintset bexcelprint bcancel
WITH TITLE "Print to Excel" VIEW-AS DIALOG-BOX.
ON CHOOSE OF bprintset DO:
SYSTEM-DIALOG PRINTER-SETUP.
printername = SESSION:PRINTER-NAME.
END.
ON CHOOSE OF bexcelprint DO:
DEF VAR chExcel AS COM-HANDLE.
DEF VAR chWorkbook AS COM-HANDLE.
DEF VAR chWorksheet AS COM-HANDLE.
CREATE "Excel.Application" chExcel.
chExcel:VISIBLE = TRUE.
chWorkbook = chExcel:Workbooks:Add().
chWorkSheet = chExcel:Sheets:Item(1).
chWorkSheet:Range("A1"):Value = "Testing printer " + printername.
chWorksheet:PrintOut(1,1,1,FALSE,printername,FALSE, FALSE).
RELEASE OBJECT chWorksheet.
RELEASE OBJECT chWorkbook.
RELEASE OBJECT chExcel.
END.
ENABLE ALL WITH FRAME PrintFrame.
WAIT-FOR CHOOSE OF bcancel IN FRAME PrintFrame.