在 IE 中用VBScript 实现不提示直接打印

 

首先在HTML 页面中加入WebBrowser 的Object:

 

<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT>

 

之后,使用如下代码进行打印:

 

<script language="VBScript">
sub printvb()
   wb.execwb 6,2,3
End Sub
</script>

 

关键代码    wb.execwb 6,2,3 可以在 VBScript 方式下实际无需提示的直接打印,但奇怪的是用同样的参数,在 Javascript 方式下IE 依然会弹出打印对话窗口,也许是因为VBScript 是Microsoft 开发的专用于 IE 的吧,而 Javascript 毕竟是外人:)

 

另找到一个较全面的例子,如下:

 

6=OLECMDID_PRINT
2=OLECMDEXECOPT_DONTPROMPTUSER,
2+1=PRINT_WAITFORCOMPLETION + PRINT_DONTBOTHERUSER

WB.ExecWB 6, 2, 3, 0

 

<HTML>
<HEAD>
<OBJECT ID="WB" WIDTH="0" HEIGHT="0" CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>
<SCRIPT LANGUAGE="VBScript">
Sub window_onunload
On Error Resume Next
Set WB = nothing
End Sub
Sub vbPrintPage ( x , y , z )
OLECMDID_PRINT = 6
OLECMDEXECOPT_DODEFAULT = 0
OLECMDEXECOPT_PROMPTUSER = 1
OLECMDEXECOPT_DONTPROMPTUSER = 2
On Error Resume Next
WB.ExecWB x, y, z, 0
End Sub
</SCRIPT>

</HEAD>
<BODY>
<TABLE BORDER=1><TR><TD>
<INPUT TYPE="BUTTON" VALUE="Print" ONCLICK="vbPrintPage 6, 2, 3"><BR>
<INPUT TYPE="BUTTON" VALUE="Preview" ONCLICK="vbPrintPage 7, 1, 0"><BR>
<INPUT TYPE="BUTTON" VALUE="Page Setup" ONCLICK="vbPrintPage 8, 1, 0"><BR>
</TD>
<TD bgcolor="green">Print Test
</TD></TR></TABLE>
</BODY>
</HTML>

IE下页面打印控件 类似于ScriptX控件,但本控件可免费使用 控件使用OCX技术,使控件加载到IE浏览器中 首次使用需要用户加载Activex控件,以后将自动加载运行 控件功能: 1.屏蔽IE打印时出现的打印设置框。 2.自动设置各打印控制参数。 3.实现自动打印。 使用方法 控件的ID为clsid:AE1A309B-6FFA-4FCF-B07F-CB97FFD56B1B 使用Object标签包裹即可。 如 <OBJECT ID="TestAX" classid="clsid:AE1A309B-6FFA-4FCF-B07F-CB97FFD56B1B" codebase="IEprint.ocx#version=" width=0 height=0 align=center hspace=0 vspace=0 ></OBJECT> 使用JavascriptVBScript程序进行调用 使用使,先得到打印控件Object对象实例如 a=document.getElementById("TestAX"); 参数内容 接着对a进行操作即可 a.Mar_left=0.0075; //左边界 a.Mar_Top=0.0075; //上边界 a.Mar_Right=0.0075; //右边界 a.Mar_Bottom=0.0075; //下边界 a.Orientation="纵向";//打印方向 a.Paper_Size="Folio"; //纸张大小 a.Header_Html="Headeraaaaaaaa"; //头部标注 a.Footer_Html="Footerssssssss"; //尾部标注 a.ApplySetup(); //应用上面的设置 函数方法 a.PrintWithOutSetup(); //无需设置即打印内容 a.PrintWithOutSetupPrintWithOutByID("cnnb"); //打印除ID为cnnb的其他内容。即过滤id为cnnb的所有内容 a.PrintWithOutSetupPrintByID("163");//打印id为163的内容。即过滤id为163以外的所有内容 a.PrintWithSetup(); //有设置选项的打印 a.PrintPreView();//打印预览 对本控件有建议的可以联系我,一般隐身存在。。。 chatop QQ948905
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值