ここから本文です

VBAでパスワードを付与してzip圧縮をしたいのですが、うまくいきません。 どなたかご...

pha********さん

2010/6/100:08:52

VBAでパスワードを付与してzip圧縮をしたいのですが、うまくいきません。
どなたかご教示をお願いします。

VBAを用いてパスワードを付与したzip圧縮をしようとしています。
下記コードを記載します。

Public Declare Function Zip Lib "zip32j.dll" (ByVal hWnd As Long, _
ByVal szCmdLine As String, ByVal szOutput As String,_
ByVal dwSize As Long) As Integer

Public Sub Archive_Zip()
Dim result As Long '戻り値 (成功:0 失敗:エラーコード)
Dim szOutput As String * 2048 'zipの実行ログ

result = Zip(hWnd, "-P1111 C:\Documents\Book1.xls C:\Documents\Book1.zip ", szOutput, Len(szOutput))

szOutput = Left(szOutput, InStr(szOutput, vbNullChar) - 1)
Debug.Print szOutput
If (result <> 0) Then MsgBox "Error/Warning : 0x" & Hex(result)
End Sub

「-P$$$」の$$$でパスワードを設定すると考えたのですが、どうもうまくいきません。
何がおかしいのか教えて下さい。

補足2010/06/01:「-P $$$」で空白をいれてみましたが、できませんでした。

閲覧数:
10,773
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

nlf********さん

編集あり2010/6/223:09:04

-P $$$
のようにスペースをいれてみてはどうでしょう。


とりあえず、C:\Documents\Book1.xls と C:\Documents\Book1.zip を入れ替えて

result = Zip(0, "-P 1111 C:\Documents\Book1.zip C:\Documents\Book1.xls", szOutput, Len(szOutput))

のような感じで実行すると正常に圧縮できました。( -P 1111 のように間にスペースを入れます。)

質問した人からのコメント

2010/6/3 00:34:03

爆笑 できました!!できました!! ずーとこれで悩んでいたんです。
神様です。 本当にありがとうございました。
凄く助かりました。 本当にありがとうございました。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる