プリンター一覧の取得 : 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