我用的是以下语句打印一个html文件(内容为一个表格),但如果按IE默认设置的话,打印出的表格不完整,必须修改边距。同时也要设置纸张的大小(A4或B5),我想知道除了在IE里手工设置之外还有没有其他的办法了呢?其实我想到了修改注册表,但98,2000,和2003注册表里存放这些内容的位置都不样,我总不能一个一个系统从新安装实验吧!
Ret = ShellExecuteAny(Me.hwnd, "print", App.Path & "\通知单.htm", ByVal 0&, ByVal 0&, SW_SHOWMINNOACTIVE)
Ret = ShellExecuteAny(Me.hwnd, "print", App.Path & "\通知单.htm", ByVal 0&, ByVal 0&, SW_SHOWMINNOACTIVE)
解决方案 »
- 关于软件运行时出错,整个软件都退出的问题.
- 为什么ObjectControl_Activate不被执行?
- msdn
- DAO350.DLL是什么文件啊?吐血,我的程序啊,晕
- vb中屏蔽关闭按钮
- 我现在想做一个自动删除某个目录,不知道怎样用vb来做,高手请赐教
- 让一个循环循环到i=6的时候先暂停,去先执行另一个过程b,但是过程b执行完以后还得重新回来循环,这个一定要用do loop...until吗?
- 新手上路:如何在module中调用toolbar的事件?
- vb窗口有好几个控件重叠放在一起,运行时能否返回在最顶层或最底层的控件
- 如何让应用程序在不同分辨率下使用
- 如何用API播放mp3,不使用控件能播放mp3吗?
- 手机短信控件的话题
把网页读到一个webbrowser中,然后调用打印对话框,由用户手动设置
我也想学习一下。
up!
【VB声明】
Private Declare Function SetPrinter Lib "winspool.drv" Alias "SetPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pPrinter As Byte, ByVal Command As Long) As Long【别名】
SetPrinterA【说明】
对一台打印机的状态进行控制 【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError 【备注】
在PRINTER_INFO_2结构的基础上设置打印机状态时,pServerName,AveragePPM,Status和cJobs字段都会被忽略【参数表】
hPrinter ------- Long,指定一个已打开的打印机的句柄(用OpenPrinter取得) Level ---------- Long,0,2或3(4或5用于windows95,5或6用于NT 4.0)。如Command不是零,则这个参数必须是零 pPrinter ------- Byte,包含一个PRINTER_INFO_x的结构的缓冲区,其中的x代表级别的设定(Level)。假如级别为零,并且Command设为PRINTER_CONTROL_SET_STATUS,那缓冲区就包含了一个PRINTER_CONTROL_STATUS结构。否则,如级别为零,就设为NULL(要把声明变成ByVal
As Long,以便传递零值) Command -------- Long,下述值之一;
零
根据PRINTER_INFO_x结构改变打印机
PRINTER_CONTROL_PAUSE
暂停打印机
PRINTER_CONTROL_PURGE
删除打印机的所有作业
PRINTER_CONTROL_RESUME
恢复一台暂停的打印机
PRINTER_CONTROL_SET_STATUS
载入打印机的PRINTER_CONTROL_STATUS结构(不可在NT 3.51下使用)
我也想象得到hmtl做报表好处,希望你能解决打印问题,以後向大家传授经验,
vb的报表一直是个问题。
我想动态的报表,hmtl解决得很好,如工资等要自定义打印列数的,html是个不错的选择。
搂住加油.