DO SETPAPERSIZE WITH "C:\WTS\REPORTS\PRNINV2.FRX",128 REPORT FORM c:\WTS\REPORTS\prninv2.frx TO PRINTER NODIALOG NOCONSOLE NOPAGEEJECT ******************************** * SETPAPERSIZE.PRG ******************************** LPARAMETER lcFRX, lnPapersize LOCAL lcNewExpr, lnStartCopiesLine, lcStartAtCopiesLine, lnEndCopiesLine, ; lnLenCopiesLine, lcTop, lcBottom #DEFINE vfCRLF CHR(13) + CHR(10) IF !(UPPER(RIGHT(lcFRX, 4)) = ".FRX") lcFRX = lcFRX + ".FRX" ENDIF USE (lcFRX) IN 0 ALIAS rptfrm EXCLUSIVE SELECT rptfrm LOCATE FOR objType = 1 AND objCode = 53 IF EMPTY(EXPR) lcNewExpr = "PAPERSIZE=" + ALLT(STR(lnPapersize)) + vfCRLF ELSE lnStartCopiesLine = ATC("PAPERSIZE", EXPR) lcStartAtCopiesLine = SUBSTR(EXPR, lnStartCopiesLine) lnEndCopiesLine = ATC(vfCRLF, lcStartAtCopiesLine) lnLenCopiesLine = LEN(SUBSTR(lcStartAtCopiesLine, 1, lnEndCopiesLine)) lcTop = SUBSTR(EXPR, 1, lnStartCopiesLine - 1) lcBottom = SUBSTR(EXPR, (LEN(lcTop) + lnLenCopiesLine)) lcNewExpr = lcTop + "PAPERSIZE=" + ALLT(STR(lnPapersize)) + lcBottom ENDIF SELECT rptfrm DO WHILE !RLOCK() ENDDO REPLACE EXPR WITH lcNewExpr UNLOCK SELECT rptfrm USE IN rptfrmThanks