[[20180205180436]] 『vbaでパスワード付き圧縮ファイル作成』(月) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『vbaでパスワード付き圧縮ファイル作成』(月)

特定のフォルダをパスワード付けて圧縮したいです。

Shell ("C:\Program Files\Lhaplus\Lhaplus.exe /c:zip /o:C:\Users\ユーザー名\Desktop /p:123 C:\Users\ユーザー名\Desktop\圧縮")

「圧縮」というフォルダに「123」というパスワードを付けて圧縮したいのですが、上記のコードを実行しますとパスワードが付きません。圧縮ファイルは生成されるんですが・・・。どう修正すれば良いかご教示いただけないでしょうか。
よろしくお願い致します。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


回答じゃなくて確認です。
Lhaplusに、パスワード付きzipを作る機能があること、それをコマンドラインから実行可能なこと は確認済みなんですよね?
(もこな2) 2018/02/05(月) 18:48

 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

Shell関数ならば、いきなりEXE名ではなく、直前に CMD /C を入れてみるとか?(Lhaplusは使っていないもので、試していません)
(???) 2018/02/06(火) 09:09

 念のため確認。
 その圧縮というフォルダ内になにかファイルはあるだろうか?
 パスワードは圧縮されたファイルにつくものなのでフォルダしかない場合にはつかないようだが。
(ねむねむ) 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

再現しました。環境はねむねむ氏と同じWindows7(32ビット版)+Excel2010。
で、原因ですが、

>>フォルダ内にはテキストファイルを入れてテストしています。

これ空のテキストファイルじゃないですか?これだとパスワード無しで圧縮されます。中身に文字があればパスワードが付きました。
(774) 2018/02/06(火) 10:20


ねむねむ様、774様

ご回答どうもありがとうございました。無事動きました!
原因は、おっしゃる通りテキストファイルの中身が空だったからです。
この度は大変勉強になりました。本当にありがとうございました。m(_ _)m
(月) 2018/02/06(火) 13:16


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.