A utility that was posted on the UT long ago. I no longer have any idea who originally posted it. Most have some form of this already (from using VFP8 and earlier versions):
CLEAR
LOCAL lcdefault, llokay, cleancolors
lcdefault=UPPER(SYS(2003))
cleancolors=.F.
IF TYPE("pRepoForM")#"C"
LOCAL lcnewdefault
lcnewdefault=GETDIR()
IF !EMPTY(lcnewdefault)
SET DEFAULT TO (lcnewdefault)
pRepoForm="ALL"
ELSE
pRepoForm=GETFILE("frx")
ENDIF
ENDIF
DO CASE
CASE UPPER(pRepoForm)#"ALL"
pRepoForm=LOWER(pRepoForm)
IF NOT ".frx"$pRepoForm
pRepoForm=pRepoForm+".frx"
ENDIF
IF NOT FILE(pRepoForm)
pRepoForm=GETFILE("frx")
IF NOT ".frx"$pRepoForm
pRepoForm=pRepoForm+".frx"
ENDIF
IF NOT FILE(pRepoForm)
=MESSAGEBOX("Report Form "+pRepoForm +" not found?!")
RETURN
ENDIF
ENDIF
DO iClean WITH cleancolors
OTHERWISE
IF ADIR(aa,"*.frx")<=0
=MESSAGEBOX("No *.frx Report Forms found?!")
RETURN
ENDIF
FOR ia =1 TO ALEN(aa,1)
pRepoForm=aa[ia,1]
DO iClean WITH cleancolors
ENDFOR
IF ADIR(aa,"*.lbx")<=0
=MESSAGEBOX("No *.lbx Label Forms found?!")
RETURN
ENDIF
FOR ia =1 TO ALEN(aa,1)
pRepoForm=aa[ia,1]
DO iClean WITH cleancolors
ENDFOR
ENDCASE
llokay=IIF(UPPER(lcdefault)=UPPER(SYS(2003)),.T.,.F.)
IF !llokay
SET DEFAULT TO (lcdefault)
ENDIF
RETURN
PROCEDURE iClean
PARAMETERS cleancolors
CLOSE TABLE ALL
USE (pRepoForm)
WAIT WIND "Fixing Report form "+DBF() NOWAIT
=AFIELD(afld)
IF ASCAN(afld,"TAG")#0 AND ASCAN(afld,"TAG2")#0 AND ASCAN(afld,"EXPR")#0
GO TOP
lcExpr1=""
lcExpr = "COPIES=1"
lcorient="ORIENTATION=0"
IF "orientation"$LOWER(EXPR)
lnOrientation = ATC("ORIENTATION", EXPR)
lcorient="ORIENTATION" + ;
SUBSTR(EXPR, ;
lnOrientation + 11, 02)
ENDIF
IF "copies"$LOWER(EXPR)
lcExpr=SUBSTR(EXPR,AT("copies=",LOWER(EXPR)),8)
ENDIF
lcExpr1=lcorient+CHR(13)+lcExpr+CHR(13)
REPLACE TAG WITH "", tag2 WITH "", EXPR WITH lcExpr1
? "*******************"
? EXPR
ELSE
=MESSAGEBOX("File "+pRepoForm+". Not VFP6 format?!")
ENDIF
GO TOP
SCAN
IF cleancolors
DO CASE
CASE objtype=6
IF fillred=-1
REPLACE fillred WITH 255
ENDIF
IF fillgreen=-1
REPLACE fillgreen WITH 255
ENDIF
IF fillblue=-1
REPLACE fillblue WITH 255
ENDIF
IF penred=-1
REPLACE penred WITH 0
ENDIF
IF pengreen=-1
REPLACE pengreen WITH 0
ENDIF
IF penblue=-1
REPLACE penblue WITH 0
ENDIF
CASE objtype=8
IF penred=-1
REPLACE penred WITH 0
ENDIF
IF pengreen=-1
REPLACE pengreen WITH 0
ENDIF
IF penblue=-1
REPLACE penblue WITH 0
ENDIF
IF fillred=-1
REPLACE fillred WITH 255
ENDIF
IF fillgreen=-1
REPLACE fillgreen WITH 255
ENDIF
IF fillblue=-1
REPLACE fillblue WITH 255
ENDIF
CASE objtype=7
CASE objtype=5
IF penred=-1
REPLACE penred WITH 0
ENDIF
IF pengreen=-1
REPLACE pengreen WITH 0
ENDIF
IF penblue=-1
REPLACE penblue WITH 0
ENDIF
IF fillred=-1
REPLACE fillred WITH 255
ENDIF
IF fillgreen=-1
REPLACE fillgreen WITH 255
ENDIF
IF fillblue=-1
REPLACE fillblue WITH 255
ENDIF
ENDCASE
ENDIF
ENDSCAN
USE
gfile=LEFT(pRepoForm,RAT(".",pRepoForm)-1)+".*"
?gfile
RETURN
>The problem is that the REPORT FORM wants a particular printer driver in the DEVICE NAME. I looked this up in the actual FRX file and you can see the following in the file:
>
>DRIVER=winspool
>DEVICE=hp LaserJet 1300 PCL 6
>
>The above is found in the field EXPR of the REPORT FORM (.FRX file).
>
>How do you make this where it will go to any printer, rather than only locking in to one printer?
>
>I already changed it to "TO PRINTER" and it will not print unless I have the matching DEVICE NAME.
>
>Cecil
.·*´¨)
.·`TCH
(..·*
010000110101001101101000011000010111001001110000010011110111001001000010011101010111001101110100
"When the debate is lost, slander becomes the tool of the loser." - Socrates
Vita contingit, Vive cum eo. (Life Happens, Live With it.)
"Life is not measured by the number of breaths we take, but by the moments that take our breath away." -- author unknown
"De omnibus dubitandum"