
といっても、かなり初級というか、初心者向けで、ノウハウというほどの情報は詰まっていませんが、知らない方向けに
「あっ、Excel でこんなことできるんだ!」
という気付きを得てもらえばいいかな、と思っています。
私も過去に、システムの運用部門にいたことがありますが、Windows だと、コマンドやスクリプトを知らなくても、GUI(グラフィカル・ユーザー・インターフェース)、つまり画面上のマウスとキー操作で、ほとんど作業できてしまう面があり、あえてそんなに使っていませんでした。
今になって、反省しています・・・
それではこれから、Excel VBA を使って、以下の PC の情報をボタンを押して、一発で取得する方法をご覧いただきます。
- ログインユーザー名
- コンピュータ名
- ドメイン名
- OS の詳細バージョン
Excel VBA とは
手抜きしているわけではありませんが、とても、分かりやすく説明している、以下のブログの記事がありますので、Excel VBA の説明は、そちらに委ねるとして、もう早速、本題に入っていきますね。エクセルVBA…まず何をしたら良いかわからない…!という声をよく耳にします。今回はVBAプログラミングをいざ書き始める直前の状態を目標に、エクセルVBAの最低限のセッティングの仕方についてお伝えします。
【Excel VBA】ボタン一発でPC情報取得(デモ)
上述した、PC の情報を取得する動きをこれからご覧入れます。

取得したい情報をもっと追加していけば、さらに便利になりますでしょ。
例えば、さらに自動化しようと思えば、以下のような処理も全自動で可能なわけです。
- ボタンを押した直後にファイルを保存
- イントラ内ならば、目的の共有ファイルサーバに保存
- ファイルを閉じる
VBA を記述したExcelファイルさえあれば、いつも決まった作業ならば特に、過不足なく、そして、正確に、PCの情報を保存しておけます。
【Excel VBA】VBA の記述内容
VBA の記述内容は、一から、自分で考えて、記述したのでなく、以下の2つのページから、パクって、編集しました!先人は、真似してマネして、成長していってるようですよ。それでイイんですと、教わっております。
実際のコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
Option Explicit Sub PC情報取得() Dim WshNetworkObject As Object '---(1) Set WshNetworkObject = CreateObject("WScript.Network") '---(2) Cells(1, 1).Value = "ユーザー名" Cells(2, 1).Value = "コンピュータ名" Cells(3, 1).Value = "ドメイン名" With WshNetworkObject Cells(1, 2).Value = .UserName Cells(2, 2).Value = .ComputerName Cells(3, 2).Value = .UserDomain End With Dim Locator As Object Dim Service As Object Dim OsSet As Object Dim os As Object Set Locator = CreateObject("WbemScripting.SWbemLocator") Set Service = Locator.ConnectServer Set OsSet = Service.ExecQuery("Select * From Win32_OperatingSystem") For Each os In OsSet Cells(4, 1).Value = "OSバージョン" Cells(4, 2).Value = os.Caption & " (" & os.Version & ")" Next os Set Service = Nothing Set OsSet = Nothing Set Locator = Nothing Set WshNetworkObject = Nothing End Sub |
VBA の記述・ボタンへの登録方法
上記のコードをExcel に貼り付けていきますので、まずExcel を開きましょう。




本来なら、各コードに一言、二言、注釈を入れるべきところですが、また別の機会に詳しく解説しますね。
貼り付け完了したら、また、Alt + F11 キーを押します。

※[開発]タブがなければ、最初にご紹介した、ブログの記事を参考に追加しましょう。

※Active コントロールのボタンは使いませんので、ご注意を!

すると、「マクロの登録」画面が開きますので、先ほどのモジュール名である、「PC情報取得」を選んでOK

Ctrlキーを押したままだと、ボタンがクリックされずに選択できて、編集できますよ。


まとめ
Excel VBA を使って、PCの情報を取得するノウハウは、特にシステム管理者向けに、仕事を効率化するうえで、超重要ですし、私としても、優先的な命題として、取り組んでいきます。PC だけでなく、サーバーに対してももちろん使えますよ。
分かりやすく、より実用的な内容にしていきたいと思いますので、これからもよろしくお願いします!
The following two tabs change content below.

小松 英二
代表取締役 : 株式会社ワークスピーディー
ソニーの情報システム子会社で、5万人以上のユーザー向けの社内ヘルプデスクや、認証サーバ・メールサーバの運用を経験。その後、日本マイクロソフトや、レノボ・ジャパンで、大手法人営業のプリセールスSE を担い、ソフトウェアからハードウェアまで幅広い知識と経験を持つ。現在はIT企業、株式会社ワークスピーディーの代表取締役。
詳しくはこちら → プロフィール

最新記事 by 小松 英二 (全て見る)
- 英語の読み書きに役立つツール(ビジネス・仕事向け) - 2024年1月15日
- 【IVRy(アイブリ−】電話の自動応答をするクラウドサービス - 2022年5月5日
- 【iPhone】「ブック」アプリで倍速再生 - 2021年12月31日