PRIVATE iCOUNT, cFAXSERVER, nOLE_RETURN, cPSFILE, cFILENAME, cFAXNUMBER PRIVATE ARRAY aPRINTERARRAY iCOUNT = 0 cFAXSERVER = [] nOLE_RETURN = 0 cPSFILE = [c:\Windows\Temp\] + SYS(2015) + [.ps] cFILENAME = [Any Report USA] cFAXNUMBER = [#########] *** Places the names of printers currently installed in the *** Windows Print Manager into a variable array. APRINTERS(aPRINTERARRAY) *** LOOP THROUGH PRINTERS LOOKING FOR FAX SERVER FOR iCOUNT = 1 TO ALEN(aPRINTERARRAY, 1) IF [FAX] $ UPPER(aPRINTERARRAY(iCOUNT, 1)) cFAXSERVER = aPRINTERARRAY(iCOUNT, 1) EXIT ENDIF NEXT iCOUNT *** MAKE SURE FAX SERVER WAS FOUND ON USER'S MACHINE IF EMPTY(cFAXSERVER) MESSAGEBOX([Could not find the Fax Server installed on this machine!]) ELSE *** THE DEFAULT PRINTER HAS TO BE SET PRIOR TO PRINTING SET PRINTER TO NAME &cFAXSERVER *** PRINT DOCUMENT TO FILE, MAKE SURE THE FILE EXTENSION IS *.ps REPORT FORM "YOUR REPORT" NOCONSOLE TO FILE &cPSFILE *** CREATE FAX SERVER OBJECT oWHFC = CREATEOBJECT("WHFC.OleSrv") *** SEND FAX nOLE_RETURN = oWHFC.SendFax(cPSFILE, cFAXNUMBER, .T.) *** CHECK TO SEE IF FAX WAS SENT SUCCESSFULLY *** nOLE_RETURN WILL BE EQUAL TO THE JOB ID NUMBER IF SUCCESSFULL DO CASE CASE nOLE_RETURN = -1 MESSAGEBOX("There was an error sending fax to server!", 16, cFILENAME) CASE nOLE_RETURN = -2 MESSAGEBOX("The fax number is not valid!", 16, cFILENAME) CASE nOLE_RETURN = -4 MESSAGEBOX("The print file could not be found!", 16, cFILENAME) ENDCASE *** CLEANUP ENVIRONMENT RELEASE oWHFC oWHFC = .NULL. *** CHANGE PRINTER BACK TO USER DEFAULT SET PRINTER TO DEFAULT ENDIF RELEASE iCOUNT, cFAXSERVER, nOLE_RETURN, cPSFILE, cFILENAME, cFAXNUMBER, aPRINTERARRAY