ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
Python自动化办公应用大全 Excel 2021函数公式学习大典 Kutools for Office 套件发布 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: vegas

如何获得当前默认打印机的名称和状态

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-2-17 21:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

在lotustower MM 的指教下终于得到期望的答案了,

将以下代码复制到11的附件就可以了

Sub GetPrinterStatus()
Dim i As Integer
Dim APN
Dim strComputer As String
Dim Msg As String
Dim objWMIService As Object
Dim colInstalledPrinters As Object
Dim objPrinter As Object
Dim strPrinterStatus As String
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
i = 4

Sheet1.Range("B4:F11").Clear

For Each objPrinter In colInstalledPrinters
'Msg = "Name: " & objPrinter.Name & vbCrLf
'Msg = Msg & "Location: " & objPrinter.Location & vbCrLf

APN = Application.ActivePrinter

If objPrinter.Name = Right(APN, Len(APN) - InStr(1, APN, "的") - 1) Then '判断是否为默认打印机

Select Case objPrinter.PrinterStatus
Case 1
strPrinterStatus = "Other"
Case 2
strPrinterStatus = "Unknown"
Case 3
strPrinterStatus = "Idle"
Case 4
strPrinterStatus = "Printing"
Case 5
strPrinterStatus = "Warmup"
End Select
'Msg = Msg & "Printer Status: " & strPrinterStatus & vbCrLf
'Msg = Msg & "Server Name: " & objPrinter.ServerName & vbCr
'Msg = Msg & "Share Name: " & objPrinter.ShareName & vbCr
'MsgBox Msg

With Sheet1
.Cells(i, 2) = objPrinter.Name
.Cells(i, 3) = objPrinter.Location
.Cells(i, 4) = strPrinterStatus
.Cells(i, 5) = objPrinter.ServerName
.Cells(i, 6) = objPrinter.ShareName
End With
i = i + 1
End If
Next
End Sub

TA的精华主题

TA的得分主题

发表于 2006-10-6 15:11 | 显示全部楼层
这个问题我找了很长时间,这个贴子太棒了,多谢兄台!

TA的精华主题

TA的得分主题

发表于 2025-4-10 08:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
image.png

ai给的

新建文本文档 (3).zip

703 Bytes, 下载次数: 6

TA的精华主题

TA的得分主题

发表于 2025-4-11 10:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-12-14 17:04 , Processed in 0.020560 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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