入力中の回答があります。ページを離れますか?※ページを離れると、回答が消えてしまいますページを離れるA回答を続ける入力中のお礼があります。16:59回答数:5件いつもこちらの識者の皆様にはお世話になっております。VBAのことで質問させてください。掲題のとおり、パスワード付のzipファイルを解凍しいたいのですが、調べてもやり方が分からず困っています。毎日複数のパスワード付zipファイルを手動で解凍して処理をしています。効率を考えVBAで処理したいのですが、どなたか上記内容の場合どのようなコードが適しているか教えていただけませんでしょうか。通報するこの質問への回答は締め切られました。20:08こんばんは。>>ついでに、その掲示板の質問者さんは、・・・>実はこの質問も僕なんです。気が付きませんでした。(^^;>zipfldr.dllで圧縮・解凍処理をしてるんですね。これが、私には使いこなせなかったのです。(おそらく、古い環境では動きません)>ひとまず単一のパス付きzipファイルを解凍するコードをご教示いただければありがたいです。実に、へんてこなコードですが、試してみてください。こちらの環境ではうまくいきましたが、他人の環境では、失敗する可能性が結構あります。API関数の方が確実ですが、仰々しくなってしまいます。閉じていたほうがSendkeyの誤動作から免れます。末尾は、¥(セパレータ)を置くようにしてください。Sub'//*確実にZIPファイルが展開できたかは、このようにすると良いです。通報するこの回答へのお礼できました!ありがとうございます。SendKeysを使用するので、実際に処理に入る前にmsgboxで処理後のダイアログが出るまで触らないように注意を促したほうがよさそうですね。・僕の理解が浅くて申し訳ないのですが、処理ができたことを確認し、コードを紐解いてみたいのですが、DestFolderやobjShellなどの変数への代入あとSendKeysとなっているのですが、なぜこれで処理が可能なのかがわかりません。13:32こんにちは。>DestFolderやobjShellなどの変数への代入あとSendKeysとなっているのですが、なぜこれで処理が可能なのかがわかりません。これらは、経験則のです。分かりませんが、論理的に逆にすると働くようです。したら、バージョンの違いがあるかもしれませんし、将来は、変わるのかもしれませんが、ここ10年、そんな調子です。SendKeyとコードのタイミングの時間差なんだろうと思います。API関数を使えば確実です。最近、ここの掲示板で書くぐらいで、ほとんど関数名を忘れてしまいました。中身をみると、そこにコマンドがありますから、そのコマンドを働かせるためのオブジェクトだと思っています。>変数objShellはobjectの宣言で問題ないでしょうか?抜けていましたね。元は入っていたのですが、掲示板に出す時に抜かしてしまいました。>retを使用する場合の宣言はlongでいいですか?はい、その通りです。他に、丸める(四捨五入)というのは、Roundなんです。これらは、英語から来ているようです。前回のzipfldr.dllは、圧縮ツール(expLzh)が邪魔をしていることが分かり、それをアンイントールして、もう一度やってみましたが、結局、圧縮フォルダの展開までで、その後の段階は手動になってしまうようです。詳しいことが分かれば使えるのかもしれません。それにつけても、Unzip32.dllがあれば、と思いました。通報するこの回答へのお礼ご回答ありがとうございます。>なぜかよく分かりませんが、論理的に逆にすると働くようです。