PowerShell GUI検索アプリに「CSV出力」機能を追加しよう!


検索した結果をその場で見られるのは便利ですが、「あとから確認したい」「報告用に一覧にしたい」と思う場面もありますよね?
そこで今回は、検索結果をCSV形式で保存できるボタン機能を追加します!


実装する内容

機能内容
「CSV保存」ボタン検索結果をファイルパス・サイズ・更新日などと一緒にCSV出力
保存先は自由に選択保存ダイアログでパスを指定
Excelで開ける報告資料や共有に活用できる

ボタン追加とクリック処理

# CSV保存ボタン
$btnSaveCsv = New-Object System.Windows.Forms.Button
$btnSaveCsv.Text = "CSV保存"
$btnSaveCsv.Location = New-Object System.Drawing.Point(10, 400)
$form.Controls.Add($btnSaveCsv)

# クリックイベント
$btnSaveCsv.Add_Click({
    if ($resultList.Count -eq 0) {
        [System.Windows.Forms.MessageBox]::Show("保存する検索結果がありません。")
        return
    }

    $saveDlg = New-Object System.Windows.Forms.SaveFileDialog
    $saveDlg.Filter = "CSVファイル (*.csv)|*.csv"
    $saveDlg.Title = "保存先を選択してください"
    $saveDlg.FileName = "検索結果.csv"

    if ($saveDlg.ShowDialog() -eq "OK") {
        $data = foreach ($file in $resultList) {
            $info = Get-Item $file
            [PSCustomObject]@{
                ファイル名 = $info.Name
                フルパス = $info.FullName
                サイズKB = [math]::Round($info.Length / 1KB, 2)
                更新日 = $info.LastWriteTime
            }
        }

        $data | Export-Csv -Path $saveDlg.FileName -Encoding UTF8 -NoTypeInformation
        [System.Windows.Forms.MessageBox]::Show("CSVファイルに保存しました。")
    }
})

$resultList には検索結果のファイルパス一覧が入っている前提です。


出力イメージ(CSV)

→ Excelですぐ開けるので、報告書に貼り付けたり、ソート・フィルターして分析も簡単!


機能 内容
「CSV保存」ボタン 検索結果をファイルパス・サイズ・更新日などと一緒にCSV出力
保存先は自由に選択 保存ダイアログでパスを指定
Excelで開ける 報告資料や共有に活用できる

まとめ

PowerShell検索アプリにCSV保存機能を加えれば、情報の記録・再利用・共有がスムーズになります。実務での使い勝手が格段に向上するおすすめ機能です!


次回予告

次回は、**設定の保存・自動読み込み機能(フォーム起動時に前回の条件を復元)**を加えて、さらに「実務で使える」完成度へ近づけていきましょう!


コメント

タイトルとURLをコピーしました