• ベストアンサー

パスワード保護されたExcelファイルをコマンドラインから開くには

読取りパスワードの設定されたExcelファイルをコマンドラインから開く方法を教えてください。 "ファイル名.xls"だとパスワード入力のダイアログが表示されるので、それを表示させずに一気に開きたいのですが無理でしょうか? コマンドラインにパスワードを含めたパラメータ何かを付けることでできないでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ハッカーごころをくすぐる面白い質問をありがとうございます。 Excelに、コマンドラインで値は渡せないので、VBScriptとか使わないと無理でしょう。前提としてここに pass というパスワードがBookに設定されたExcel(C:\temp\sample.xls)があるとすると、 (1)以下のコードをメモ帳に貼り付けて、auto_input_pw.vbs という名前で保存。 Option Explicit Dim objParam Dim strFilename Dim strPassword Dim objExcel Dim objOpendExcel Set objParam = WScript.Arguments strFilename = objParam(0) strPassword = objParam(1) Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set objOpendExcel = objExcel.Workbooks.Open(strFilename,,,,strPassword) Set objExcel = Nothing (2)コマンドプロンプトで、 >cscript auto_input_pw.vbs C:\temp\sample.xls pass でどうでしょう。Excelのパスはフルパスである必要があります。 あと、一回ごとにExcelが起動しますので、あまり大量にはやらないほうがよいでしょう。 Windowsのバッチファイル(たとえば run.bat というファイルに、 cscript auto_input_pw.vbs C:\temp\sample1.xls pass1 cscript auto_input_pw.vbs C:\temp\sample2.xls pass2 cscript auto_input_pw.vbs C:\temp\sample3.xls pass3  :  : のように1行ずつ書いておいて、run.bat をダブルクリックすれば、 どかどかっと、楽しげにExcelが開かれるハズです。 えーと。一応動作確認はしましたが、 実行にあたっては、あくまで自己責任において使ってください。 私はVBScriptは専門じゃないので(笑)

sora1124_2
質問者

お礼

さっそくの回答ありがとうございます。 やっぱりコマンドラインから直接パスワードを渡すことはできないのですね。 でも、回答いただいた方法で目的は達成できました。 ありがとうございました。