Windowsのシステムエラーコードの内容を調べる際に便利なのが、net helpmsgコマンドです。たとえば「net helpmsg 5」と実行すると、「アクセスが拒否されました。」というメッセージが表示されます。
この記事では、net helpmsgのメッセージ(1〜9999)を一括で取得し、CSVファイルなどの一覧として整理する手順を紹介します。
PowerShellで一括取得してCSV出力する方法(推奨)
現代のWindows環境(Windows 10 / 11、Windows Server)では、PowerShellを使用することで、バッチや複雑なExcelマクロを使わずに数行のコマンドでエラーメッセージ一覧をCSVファイルに保存できます。
PowerShellを開き、以下のコマンドを実行してください。
1..9999 | ForEach-Object {
$msg = (net helpmsg $_ 2>$null) -join " "
if ($msg -and $msg -notmatch "有効な Windows") {
[PSCustomObject]@{
"エラーコード" = $_
"メッセージ" = $msg.Trim()
}
}
} | Export-Csv -Path ".\net_helpmsg.csv" -Encoding UTF8 -NoTypeInformation
実行すると、コマンドを実行したディレクトリに「net_helpmsg.csv」が作成されます。このCSVファイルはExcelなどでそのまま開いて確認することができます。
従来のバッチファイルとExcel VBAで行う方法
コマンドプロンプト(バッチファイル)とExcel VBAを組み合わせて一覧を作成する、従来の方法です。
1. バッチファイルでテキストに書き出す
コマンドプロンプトで以下のコマンドを実行し、1〜9999のエラーメッセージを一度「helpmsg.csv」として出力します。
for /L %i in (1,1,9999) do ( echo %i & net helpmsg %i ) >> helpmsg.csv 2>&1
※バッチファイル(.bat)内に記述して実行する場合は、変数を「%%i」に置き換えてください。
2. Excel VBAマクロで整形する
上記で出力したファイルは、エラーコードとメッセージが改行されて交互に出現するため、そのままでは見づらい状態になっています。以下のExcel VBAマクロを使用することで、シート上にきれいに展開できます。
Sub ImportAndFormatHelpMsg()
Dim buf As String
Dim path As String
Dim n As Long
Dim num As Long
n = 1
' B2セルに読み込みたい「helpmsg.csv」のフルパスを入力しておきます
path = Cells(2, 2).Value
Open path For Input As #1
Do Until EOF(1)
Line Input #1, buf
If buf <> "" Then
If IsNumeric(buf) = True Then
num = Val(buf)
n = 1
Cells(num, n) = buf
End If
Cells(num, n) = buf
n = n + 1
End If
Loop
Close #1
End Sub
まとめ
Windowsのシステムエラーメッセージを一覧化しておくと、トラブルシューティングの際にエラーコードから迅速に原因を特定できるようになります。現在はPowerShellを使用した方法が最も簡単で手軽なため、まずはPowerShellでの出力をお試しください。
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月9日
- 追加PowerShellを使用して、エラーメッセージ(1〜9999)を効率的に一括取得してCSV保存する現代的な手順を追加しました。
- 削除リンク切れおよびセキュリティ上の懸念がある外部サイトのzipファイルダウンロードリンクを削除しました。
- 変更従来のバッチファイルとExcel VBAを用いた手順を分かりやすく整理し、コードブロックを用いて視認性を向上させました。

