プリンター一覧の取得 : Excel(エクセル)

Excel Tipsメニューに戻る

スポンサーリンク






Excel VBAでプリンタ一覧を取得する2つの方法です。

Excelシート画面

B列はMyGetPrinterA()で列挙しています。
C~E列はMyGetPrinterB()で列挙しています。
C列はプリンタ名
C列は存在するフォルダ名
E列は通常使うプリンタならTRUE、そうでなければFALSEと表示されます
MyGetPrinterBは、WindowsXPで使用できます
VBAでプリンタの一覧を取得

スポンサーリンク


Excel VBA実行コード

Option Explicit

Private Sub MyGetPrinterB()
    Dim lrow As Long
    Dim tobj As Object
    Dim tInstPrn As Variant
    Dim tprn As Object
    
    lrow = 6
    Set tobj = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set tInstPrn = tobj.ExecQuery("Select * from Win32_Printer")
    For Each tprn In tInstPrn
        Cells(lrow, 3) = tprn.Name
        Cells(lrow, 4) = tprn.Location
        Cells(lrow, 5) = tprn.Default
        lrow = lrow + 1
    Next

End Sub

Private Sub MyGetPrinterA()
    Dim win As Object
    Dim Obj_Item As Variant
    Dim lrow As Long
    
    lrow = 6
    Set win = CreateObject("Shell.Application")
    For Each Obj_Item In win.NameSpace(4).Items
        Cells(lrow, 2) = Obj_Item.Name
        lrow = lrow + 1
    Next
End Sub

Private Sub CommandButton1_Click()
    MyGetPrinterA
    MyGetPrinterB

End Sub

スポンサーリンク







Excel Tipsメニューに戻る

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved