- ベストアンサー
VBAでできますか?
VBAでパソコンのシリアルナンバーって取得できるものでしょうか? batだと取得できるのですが、batで取得した値をExcelで表示できるのでしょうか? 教えて下さい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1さんの、WindowsXPだと動いてくれません。 コマンドプロンプトが立ち上がって、 カーソルだけが点滅して永遠の待ち状態?になりました。 なぜか?は置いといて以下なら、7、XPとも動くはず。 (お望みの『シリアルナンバー』ではないかもしれん) 質問者さんへ 正解が降ってくるまで待っていてるのは、 質問者・回答者ともに時間の無駄です。 回答が期待した結果にならなかったら、 積極的に働きかけるようにした方が良いと思いますよ。 Sub b() Dim oLocator As Object Dim oService As Object Dim oCol As Object Dim prp As Object Set oLocator = CreateObject("WbemScripting.SWbemLocator") Set oService = oLocator.ConnectServer Set oCol = oService.ExecQuery("SELECT * FROM Win32_ComputerSystemProduct") For Each prp In oCol ThisWorkbook.Sheets(1).Cells(1, 1) = "IdentifyingNumber" ThisWorkbook.Sheets(1).Cells(2, 1) = prp.IdentifyingNumber Next Set oCol = Nothing: Set oService = Nothing: Set oLocator = notthing End Sub
その他の回答 (1)
- mt2008
- ベストアンサー率52% (885/1701)
こんな感じでDOSコマンドの返り値を取得することができます。 Sub Sample() Set WSH = CreateObject("WScript.Shell") sCmd = "wmic csproduct get IdentifyingNumber" Set wExec = WSH.Exec("%ComSpec% /c " & sCmd) Do While wExec.Status = 0 DoEvents Loop sResult = wExec.StdOut.ReadAll Range("A1") = sResult Set wExec = Nothing Set WSH = Nothing End Sub