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

WMI Fun !! > WMI Step > Excel VBA から WMI を使ってみよう

このエントリーをはてなブックマークに追加
話題のプリウス、ディーラーオプションもネットで気軽に購入
家族でのんびり北海道旅行はいかがですか?広い台地でのんびり〜
毎日の仕事のお供におすすめミネラルウォータークリスタルカイザー

Excel VBA から WMI を使ってみよう - WMI Step

Topics

WMI は VBA を使用することができる各 Office アプリケーションから使用することも出来ます。
このステップでは Microsoft Excel 2003 を例にして Excel から VBA を使い WMI を使用する方法を紹介したいと思います。基本的には VB と同じ使い方です。

Excel ファイルを新規作成し Visual Basic Editor を立ち上げ、標準モジュールを 1 つ追加したら下記のサンプルを入力してみてください。



Sample Code

Sub GetWMItoExcel()

Dim oDiskSet As SWbemObjectSet
Dim oDisk As SWbemObject
Dim oLocator As SWbemLocator
Dim oService As SWbemServices
Dim i As Long

Set oLocator = New WbemScripting.SWbemLocator
Set oService = oLocator.ConnectServer

Set oDiskSet = oService.ExecQuery _
("Select * From Win32_LogicalDisk Where DriveType=3")

Worksheets("Sheet1").Cells(1, 1).Value = "空き容量が10%以下のドライブは、"

i = 1

For Each oDisk In oDiskSet
If (oDisk.FreeSpace / oDisk.Size) < 0.5 Then
Worksheets("Sheet1").Cells(i + 1, 1).Value = oDisk.Name
I = I + 1
End If
Next

Set oDiskSet = Nothing
Set oDisk = Nothing
Set oLocator = Nothing
Set oService = Nothing

End Sub



Comment

それでは実行してみましょう。
実行時にエラーが出る場合は参照設定から Microsoft WMI Scripting V1.2 Library を追加してから実行してみてください。
(OS 環境が Windows 2000 以前の OS で試している場合には「Microsoft WMI Scripting V1.1 Library」かも知れません…。)

今までにも紹介したサンプルと同様 WQL で空き容量が 10% 切っているドライブを表示する条件を記述したサンプルコードですが、Excel のスプレッドシートに結果が表示されるはずです。
VB とまったく同じように扱えますので Excel ベースでシステム構成取得・資産管理系ソフトを作ってみるもの面白いかもしれませんよ。

今回の例では Excel をベースにしましたが、同じようなやり方で Access や Word (実用的かどうかはさて置き…) でも WMI を使うことが出来ると思いますよ。
資産管理・アセット管理を WMI で行うには Access ベースの mdb、accdb の方が効率が良いかもしれません。


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

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

- 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#) などの開発環境以外でも Win32/Win64 API に依存しないので WMIC や
WSH (VBS・JS)・PowerShell などスクリプト言語・コマンドラインから有効に活用が出来ます
Windows ベースの社内 IT システムに関する資産管理、アセットマネジメントや監視業務の効率化、
インベントリ情報収集系システムツール開発に WMI はお勧めです

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

∧ ページの先頭へ…