08/05/15 13:14:06
Excel総合相談所 68
スレリンク(bsoft板)l50
433 名前: 名無しさん@そうだ選挙にいこう [sage] 投稿日: 2008/05/15(木) 12:19:30
【1 OSの種類 .】 Windows2000
【2 Excelのバージョン 】 Excel97
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 PASSWORD IF file
会社の規則で、全てのファイルにはパスワードをつけないといけないことになっています。
週一回、全てのファイルにパスワードがかかっているかチェックしているのですが
フォルダ数、ファイル数が膨大のため、ひどく時間がかかっています。
パスワードは全員共有のため(仮に「7777」)、次のようなマクロを作ってみました。
fnm=dir("G:\")
do
if fnm="" then exit do
workbooks.open tilename:=fnm,password:="7777"
workbooks(fnm).close savechanges:=false
fnm=dir()
loop
ひとまず、パスワードがかかっていなかったら止まる、というだけの単純なものです。
私の知識ではここまでしかわかりませんでした。
しかし、これでは重いファイルをわざわざ開く時に無意味に時間がかかってしまいます。
ファイル自体を開かずに、
「もしパスワードがかかっていたらスルー。かかっていなければ開く」という判定をしたければ
どうすれば良いのでしょうか?
マクロが終了した時点で開かれているファイルがパスのかかっていないファイルだ、と。