[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『vbaでパスワード付き圧縮ファイル作成』(月)
特定のフォルダをパスワード付けて圧縮したいです。
Shell ("C:\Program Files\Lhaplus\Lhaplus.exe /c:zip /o:C:\Users\ユーザー名\Desktop /p:123 C:\Users\ユーザー名\Desktop\圧縮")
「圧縮」というフォルダに「123」というパスワードを付けて圧縮したいのですが、上記のコードを実行しますとパスワードが付きません。圧縮ファイルは生成されるんですが・・・。どう修正すれば良いかご教示いただけないでしょうか。
よろしくお願い致します。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
nオプションで出力ファイル名を指定してみました。 これだと動きますか?
Sub test() Dim WSH As Object Dim wExec As Object Dim comStr As String
Set WSH = CreateObject("WScript.Shell") comStr = "C:\Program Files\Lhaplus\Lhaplus.exe /c:zip /p:123 /n:C:\Users\ユーザー名\Desktop\圧縮.zip C:\Users\ユーザー名\Desktop\圧縮" Set wExec = WSH.Exec(comStr)
Set WSH = Nothing Set wExec = Nothing End Sub (ろっくん) 2018/02/06(火) 08:55
念のため確認。 その圧縮というフォルダ内になにかファイルはあるだろうか? パスワードは圧縮されたファイルにつくものなのでフォルダしかない場合にはつかないようだが。 (ねむねむ) 2018/02/06(火) 09:23
もこな2様
zip機能があることは確認済みでしたが、コマンドラインはまだでした。試してみたところ、圧縮ファイルは生成されましたがパスワードを付けることはできませんでした。
ろっくん様
コードを提示いただきありがとうございます。
問題なく動きますが、やはりパスワードが付かないようです・・・。
???様
ご回答ありがとうございます。
試してみましたが、圧縮ファイル自体生成することができませんでした。
ねむねむ様
空だと動かないんですね、知りませんでした!
フォルダ内にはテキストファイルを入れてテストしています。
(月) 2018/02/06(火) 09:48
一応報告。 Windows7(32ビット版)+Excel2010では Shell "C:\Program Files\Lhaplus\Lhaplus.exe /c:zip /o:C:\Users\ユーザー名\Desktop /p:123 C:\Users\ユーザー名\Desktop\圧縮" でパスワード付きで圧縮された。 (ねむねむ) 2018/02/06(火) 09:57
>空だと動かないんですね、知りませんでした! いや、ZIPファイルは作成され、そのZIPファイルを解凍するとフォルダが作成される。 その時にパスワードを聞かれない。 (ZIPとしては圧縮するのはファイル、フォルダというかファイルのパスはそのまま記録しておくだけ) (ねむねむ) 2018/02/06(火) 10:03
>>フォルダ内にはテキストファイルを入れてテストしています。
これ空のテキストファイルじゃないですか?これだとパスワード無しで圧縮されます。中身に文字があればパスワードが付きました。
(774) 2018/02/06(火) 10:20
ご回答どうもありがとうございました。無事動きました!
原因は、おっしゃる通りテキストファイルの中身が空だったからです。
この度は大変勉強になりました。本当にありがとうございました。m(_ _)m
(月) 2018/02/06(火) 13:16
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.