CommonDialog1.ShowPrinter怎样才能不改变系统默认打印机

yyxx0406 2013-07-20 06:31:15
Private Sub Command1_Click()
Dim BeginPage, EndPage, NumCopies, i
' 设置“取消”为 True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
' 显示“打印”对话框
CommonDialog1.ShowPrinter
' 从该对话框取得选定的值
BeginPage = CommonDialog1.FromPage
EndPage = CommonDialog1.ToPage
NumCopies = CommonDialog1.Copies
For i = 1 To NumCopies
' 此处放置将数据发送到打印机的代码
Next i
Exit Sub
ErrHandler:
' 用户按了“取消”按钮
Exit Sub
End Sub

使用以上的代码可以实现选择打印机后打印,但同时系统默认的打印机也改变了,我想要的是:选择打印机只针对本次打印有效,系统默认的打印机不要改变,请教怎样才能实现?
...全文
261 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
笨狗先飞 2013-07-22
  • 打赏
  • 举报
回复
看到了 CommonDialog1.PrinterDefault=False就可以了,不过好象读不到打印机名称, 用下边的代码可以用非默认打印机打印,不过不关这个对话框什么事了

Dim P as Printer
For Each P In Printers
  if P.DeviceName="XXXXX" Then exit For
Next
Set Printer=P
Printer.Print "afasdfasdf"
Printer.EndDoc
笨狗先飞 2013-07-22
  • 打赏
  • 举报
回复
我去瞧瞧,我记得用printers集合来选择比较好,不过就没这对话框了吧
yyxx0406 2013-07-22
  • 打赏
  • 举报
回复
没人哦,顶上

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧