PowerShellでパスワード付きExcelファイルを開く方法

公開日:  

powershell excel


PowerShellでパスワード付きのエクセルブックを開きます。
エクセルブックを開くメソッド(Openメソッド)を実行する際に、オプションとしてパスワードを渡すだけです。

環境

  • Windows 10
  • PowerShell 5.1

パスワード付きのエクセルファイルを開く

$filepath = "C:\path\to\Excel\file.xlsx"
$password = "abcde"

try {
    $excel = New-Object -ComObject Excel.Application
    $excel.Visible = $true
    $excel.DisplayAlerts = $true

    # パスワードを指定してブックを開く
    $wb = $excel.Workbooks.Open($filepath, [Type]::Missing, [Type]::Missing, [Type]::Missing, $password)

    $sheet = $wb.ActiveSheet

    # 何らかの処理

    $wb.Save()

    $excel.Quit()

} finally {
    $sheet, $wb, $excel | ForEach-Object {
        if ($_ -ne $null) {
            [void][System.Runtime.Interopservices.Marshal]::ReleaseComObject($_)
        }
    }
}

Openメソッドの5番目の引数にパスワードを渡します。他の引数は[Type]::Missingと指定することで省略しています。

その他の引数の意味について知りたければこちらをご覧ください。

参考



関連記事