GasMan,
Thanks for the reply. I tried what you suggested, but it didn't work. I'm not sure why it worked on your GC version. I tried going through Agilent and they sent it to an outside resource that helped me. He was stumped as well, but we finally figured it out. Basically, you have to set the page height and width in the BeginJob command. Then, as the macro prints, calculate how many rows are left until you reach the bottom and send Print #7, " " for each blank row. I re-attached my test report macro for the next guy that tries this. It is working for multiple pages as well.
Name CheckPageRow
If CurrentRow >= pHeight-3-BottomMargin Then
FinishPrinting
FormFeed
CurrentRow=TopMargin+1
Else
CurrentRow=CurrentRow+1
EndIf
EndMacro
Name FinishPrinting
While CurrentRow < pHeight-TopMargin-BottomMargin Do
Print #7," "
CurrentRow=CurrentRow+1
EndWhile
EndMacro
Name TestReport
LOCAL MyReport$,pWidth,pHeight,Header$
Header$="Test Report"
pWidth = XMax() ! gets characters per line
pHeight = YMax()-1!Remove 1 for the automatic "Page # of #" line
Leftmargin=2
TopMargin=2
BottomMargin=2
CurrentRow=TopMargin+1
OpenDevice "PRINTER" As #7
BeginJob,,pWidth,pHeight
SetHeader Header$, pWidth / 2 - Len(Header$) / 2
CheckPageRow
SetMargin LeftMargin, TopMargin, BottomMargin
For i=1 to 100
Print Using #7,"% /", "Line "+Val$(i)
CheckPageRow
Next i
FinishPrinting
EndJob MyReport$ ! redirects report to viewer
SetWinTitle 69, MyReport$
ShowReport 69,MyReport$, "PrintJob", "DelJob" ! displays report viewer
SetActiveWindow 69
Close #7
! Reset printing parameters
SetHeader ""; SetFooter ""
SetMargin 0, 0, 0
EndMacro