设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 6730|回复: 23
打印 上一主题 下一主题

[API] 选择默认打印机的问题

[复制链接]
1#
发表于 2012-2-12 00:42:14 | 显示全部楼层
给你做了些简化,还是睡觉了,没有细细去看不知道符合效果否

窗体部分
  1. Private Sub Combo75_AfterUpdate()
  2.    Call DefaultPrinter(Me.Combo75.Text)
  3. End Sub

  4. Private Sub Form_Open(Cancel As Integer)
  5.     Me.Combo75.RowSourceType = "Value List"
  6.    Me.Combo75.RowSource = GetPrinters
  7.    Me.Combo75 = prtDefaultIndex
  8. End Sub
复制代码
模块部分
  1. Public prtDefaultIndex As Long

  2. Public Function DefaultPrinter(PrinterName)

  3.     Dim Ofs As IWshNetwork_Class
  4.     Set Ofs = New IWshNetwork_Class
  5.     Ofs.SetDefaultPrinter (PrinterName)
  6.     DefaultPrinter = True

  7. End Function

  8. Public Function GetPrinters() As String
  9.     Dim i As Integer
  10.    
  11.     For i = 0 To Application.Printers.Count - 1
  12.         GetPrinters = GetPrinters & ";" & i & "," & Application.Printers(i).DeviceName
  13.         
  14.         If Application.Printer.DeviceName = Application.Printers(i).DeviceName Then
  15.             prtDefaultIndex = i
  16.         End If
  17.         
  18.     Next i

  19.     GetPrinters = Mid(GetPrinters, 2)

  20. End Function
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
2#
发表于 2012-2-13 10:28:32 | 显示全部楼层
奇怪我用了,都不需要重启啊
3#
发表于 2012-2-13 10:29:03 | 显示全部楼层
你之前的确实是需要重启,我修改过后我这里一点就行,不需要重启
4#
发表于 2012-2-13 10:49:30 | 显示全部楼层
本帖最后由 Grant 于 2012-2-13 10:50 编辑

不需要重启Access,回帖后我又去测试了一遍,我是打开了打印机设置项看着变化的,默认打印机也跟随改变了
5#
发表于 2012-2-13 11:11:32 | 显示全部楼层
你不会是想改Access默认打印吧,那方法错了,和改系统默认打印是两回事

改Access默认打印更简单了
  1. Dim prtDefault As Printer

  2. Set Application.Printer = Application.Printers(0)

  3. Set prtDefault = Application.Printer

  4. With prtDefault
  5.     MsgBox "Device name: " & .DeviceName & vbCr _
  6.         & "Driver name: " & .DriverName & vbCr _
  7.         & "Port: " & .Port
  8. End With
复制代码
6#
发表于 2012-2-13 11:20:17 | 显示全部楼层
Access每次打开都会读取一次系统默认打印机,所以就照成了你为什么需要一定重启一次ACCESS,你可以采用
更改Access默认的打印机,也可以更改系统默认打印机后,重启Access重新加载打印机或者再次更改Access默认打印机
7#
发表于 2012-2-13 11:37:10 | 显示全部楼层
上传一例子你参考

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 01:51 , Processed in 0.099112 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表