VBネタ:WMIのWin32_Printerで他マシンのプリンタ情報取得
えーっと、「ネットワーク上のコンピュータから
プリンタ情報を取得したいのだが...」っつーことで
「こりゃWMIだろ」( ̄− ̄)
ということで調べるとWin32_Printerを使うことで
取得が可能であることが判明した。
全部のプロパティを吐き出させてみると、
以外や以外にPaperNoからドライバ情報まで
Debug.Printが溢れんばかりに吐き出してました(゜∀゜)ウヒャ
で、そのテスト版がρ(・д・*)コレ
Sub Test_WMI_GetPrinterInfo()
Dim strComputerName As String
Dim strUserName As String
Dim strPassword As String
Dim objLocator As New WbemScripting.SWbemLocator
Dim objWMIService As WbemScripting.SWbemServices
Dim objWin32_Printer As WbemScripting.SWbemObjectSet
Dim objPrinter As WbemScripting.SWbemObject
Dim objProperty As WbemScripting.SWbemProperty
Dim strMsg As String
Dim i As IntegerstrComputerName = "MyComputer"
strUserName = "Administrator"
strPassword = "hogehoge"
Set objWMIService = objLocator.ConnectServer(strComputerName, , strUserName, strPassword)
Set objWin32_Printer = objWMIService.InstancesOf("Win32_Printer")
For Each objPrinter In objWin32_Printer
strMsg = strMsg & "-------------------------------------" & vbCrLf
For Each objProperty In objPrinter.Properties_
If IsArray(objProperty.Value) Then
For i = LBound(objProperty.Value) To UBound(objProperty.Value)
strMsg = strMsg & "[" & objProperty.Name & "](" & i & ")=" & objProperty.Value(i) & vbCrLf
Next
Else
strMsg = strMsg & "[" & objProperty.Name & "]=" & objProperty.Value & vbCrLf
End If
Next
Next
Debug.Print strMsgEnd Sub