WMI Fun !! 〜 WMI に興味がある方・システム管理者必見! 〜
 WMI Step|WMI Sample|WMI Reference|WMI Library|My Let'snote|Personal|Link|About

WMI Fun !! > WMI Sample (VB) > プリンタを追加する

このエントリーをはてなブックマークに追加
電子タバコならやっぱりアイコス ネイビー
気になる車は新車購入支援サイト オートックワンで最短 60 秒で見積もり OK
常に話題の最先端を行くスマートフォンは、 Apple iPhone

プリンタを追加する: Win32_Printer - WMI Sample (VB)

Topics

コンピュータへローカルプリンタを追加するサンプルプログラムです。
Win32_Printer クラスを使用します。

VBS (WSH) 版のサンプルコードはこちらで公開しています。



Sample Code

Private Sub Command1_Click()

Dim Prt As SWbemObject
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim MesStr As String

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer

Set Prt = Service.Get("Win32_Printer").SpawnInstance_

Prt.Comment = "WMI で登録テスト。"
Prt.DeviceID = "EPSON MJ-700V2C By WMI"
Prt.DriverName = "EPSON MJ-700V2C ESC/P R"
Prt.PortName = "LPT1:"
Prt.Location = "メインマシンの隣。"
Prt.Shared = True
Prt.ShareName = "EPSON MJ-700V2C"

MesStr = Prt.Put_

MsgBox "プリンタを作成しました。" & vbCrLf & MesStr

Set Prt = Nothing
Set Locator = Nothing
Set Service = Nothing

End Sub



Comment

実行すると「EPSON MJ-700V2C ESC/P R」というプリンタを追加します。
DeviceID プロパティが実際登録されるプリンタ名になります。DriverName はプリンタドライバー上で定義されている名前になります。 Portname を違う物 (「Standerd TCP/IP Port」や「LPT1:」、「COM1:」、「USB001:」等…) に変更すれば LPR 印刷や USB 印刷など別のプリンターポートへも変更できます。
Shared プロパティを True にし ShareName を設定すればプリンタ追加と同時に共有をすることも可能です。
今回のポイントは、

Set Prt = Service.Get("Win32_Printer").SpawnInstance_

になります。
SpawnInstance_ メソッドはクラスの定義を使用して新しいインスタンスを追加(今回で言うプリンタの追加)する際に使用します。

今回このサンプルを動作させる条件としては「すでに OS 側で追加したいプリンタのドライバーを持っている」ということです。
プリンタドライバーが組み込まれていない場合、エラーで終了してしまうと思います。
なお WMI の使い方(VB6, VBS, VBA, VB.NET, VC#, PowerShell を対象) に関しては、WMI Step も参考にしてみてください。(WMI 初心者・入門編としてもおすすめです。) 各種言語を使用したWMIを使用するたたき台としてソースコードテンプレートも公開しています。WMI プログラム/スクリプト作成時に役立てば…と思っています。


Recommended book

個人的にお勧めする本の紹介です。


ご意見・ご要望・ご感想をこちらのアンケートからお待ちしています
WMIに関して調べているけど探し物が見つからない…という方はSearch Resultから検索してみましょう!!

MCP(Microsoft Certified Professional)一応MCP(Microsoft Certified Professional)、MCA(Microsoft Certified Associate)所有してたりします…

- WMI Fun !! -
http://www.wmifun.net/
Microsoft社のテクノロジーであるWMI(Windows Management Instrumentation)の使い方を
Visual Basicを使ってのんびり公開しています
WMIはWindows 7やWindows 8、Windows 10で便利に使えますよ! またVB/VBAや.Net(VB,C#)などの開発環境以外でもAPIに依存しないのでWMICやWSH(VBS,JS)・PowerShellなどスクリプト言語から有効に活用が出来ます
Windowsベースの社内ITシステムに関する資産管理、アセットマネジメントや監視業務の効率化、
インベントリ情報収集系システムツール開発にWMIはお勧めです

This website is created by Toh.
Copyright(C) 1997-2013 WMI Fun !!. All rights reserved.
WMI Fun !!へのリンクはご自由に…相互リンクに関するお問い合わせはアンケートページからお願いします

∧ ページの先頭へ…