システム開発ブログ

Excel VBAでローカルのプリンタ情報を取得する

前田

前田 (2011年12月22日 10:40)
システムソリューション事業部 / ビジネスソリューション課 / Excel / VBA

こんにちは
システムソリューション事業部
ビジネスソリューション課の
前田です。

今回は、Excel VBAでローカルのプリンタ情報を取得する
という方法です。
何はともあれコードですが、

Dim lct As SWbemLocator
Dim sv As SWbemServices
Dim prtSet As SWbemObjectSet
Dim prt As SWbemObject
 
Dim sPrinter As String
 
    Set lct = New WbemScripting.SWbemLocator
    Set sv = lct.ConnectServer
    Set prtSet = sv.ExecQuery("Select * From Win32_Printer")
 
    For Each prt In prtSet
       '// プリンタ名を変数に取得します。
        sPrinter = prt.Caption
    Next
 
    Set prt = Nothing
    Set prtSet = Nothing
    Set sv = Nothing
    Set lct = Nothing

こんな感じです。
WMI(Windows Management Instrumentation)を使って
Windowsのローカルのプリンタ情報を取り出すのですね。

    Set wb = ThisWorkBook
    Call wb.PrintOut(, , 1, , sPrinter)
 
    Set wb = Nothing

こんな感じで、プリンタ名を指定して印刷するような場合、
選択用のリストボックスなんかと組み合わせて使うと
プリンタを選択するユーザインタフェースを
Excel上だけで実現できます。

ご参考までに。

システムのトラブル解決を承ります。すぐにシステムリフォームを体験できますシステム診断・システムリフォームのお申し込みはこちらから。

システム開発ブログ

Twitterでilovex_officialをフォローしてください

最近の記事

カテゴリー

部署

月別アーカイブ

以前の部署別ブログ

ページのトップ