注册 登录
编程论坛 VFP论坛

请教:有多台打印机,VFP9.0报表如何指定的打印机?

jjwcj 发布于 2022-06-15 14:45, 2760 次点击
请教:有多台打印机,VFP9.0报表如何指定的打印机?
12 回复
#2
szwsjx2022-06-15 15:46
使用myFll.fll里的SetDefaultPrinter('打印机名称')函数,把这个需要打印的打印机设置为默认打印机,再用VFP报表进行打印。如果这个打印机不是本台机器经常使用的打印机,再用SetDefaultPrinter('打印机名称')函数设置回来。
#3
aqyejun2022-06-15 16:37
IF APRINTERS(gaPrinters) <= 0
   =MESSAGEBOX('没有安装打印机,不能进行打印设置',32,'提示信息')
   RETURN
ENDIF
STORE PRINTSTATUS( ) TO glReady
IF NOT glReady
   =MESSAGEBOX('没有安装打印机,不能进行打印设置',32,'提示信息')
   RETURN
ENDIF
=SYS(1037)
#4
星光悠蓝2022-06-15 17:07

交互选择,由用户打印前选择,喜欢用哪台就用哪台。
REPORT FORM myReport1.frx TO PRINTER PROMPT NODIALOG PREVIEW
要在开始打印前显示打印对话框,请包含 PROMPT 关键字。
#5
jjwcj2022-06-15 18:13
我的意思,能不能在打印语句中指定专门的打印机(即指向打印机名),而不出现对话框。
#6
zhken2022-06-15 20:14
编辑报表时打勾指定打印机,将不受默认打印机影响。直接输出此台打印机
只有本站会员才能查看附件,请 登录
#7
laowan0012022-06-15 20:44
SET PRINTER TO [DEFAULT | NAME WindowsPrinterName]
帮助文件里有
#8
吹水佬2022-06-15 21:30
1、报表属性中的“保存打印机环境”不要勾选,否则只能按设定的打印机。
只有本站会员才能查看附件,请 登录

2、获取打打印机名
    APRINTERS()  获取所有打印信息(含打印机名),可列表选择
    GETPRINTER() 选择返回打印机名
3、设置使用的打印机
    SET PRINTER TO NAME 打印机名
#9
liunis2022-06-16 13:45
回复 8楼 吹水佬
这个方法会失灵,报表保存打印机去勾以后,上述方法在弹出窗口选好打印机后 打印时并不是输出到选好的打印机,不知是什么原因。
#10
吹水佬2022-06-16 14:52
以下是引用liunis在2022-6-16 13:45:12的发言:

这个方法会失灵,报表保存打印机去勾以后,上述方法在弹出窗口选好打印机后 打印时并不是输出到选好的打印机,不知是什么原因。

将你测试用的报表文件和代码放上来看看
#11
liunis2022-06-16 18:14
回复 10楼 吹水佬
你那个方法是对的。找到原因了,原因是一开始在报表保存了打印机信息,后面去了勾,一直不能输出到选定的打印机,原来要把EXPR字段的内容全部清空,才起作用。
#12
gs25367856782022-06-17 09:26
使用以下语句,就可以了:
REPORT FORM .\aform\pb1.frx   to print prompt noconsole
将打开打印机选择列表,由你自主选定打印机
#13
吹水佬2022-06-17 10:27
打印设备相对固定,不用每次打印都去选择。
在系统设置中列出所有打印设备选定保存就可以
1