プロが教えるわが家の防犯対策術!

VBAでパソコンのシリアルナンバーって取得できるものでしょうか?
batだと取得できるのですが、batで取得した値をExcelで表示できるのでしょうか?
教えて下さい。

A 回答 (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
    • good
    • 0

こんな感じで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
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!