ギリギリ行けるお一人様のライン

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

A 回答 (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は専門じゃないので(笑)
    • good
    • 1
この回答へのお礼

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

お礼日時:2007/05/12 10:49

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報