- 締切済み
VB6でCSVファイルにパスワードをかける方法
お世話になります。 VB6でCSVファイルにパスワードをかけたいと考えています。 WINDOWS標準のZIP形式にしてパスワードをかけるのでもよいのですが やり方が見つかりません。(VBからどうやるのか) どなたかわかる方がいらっしゃいましたらよろしくお願いします。 すみませんが教えてください。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- nda23
- ベストアンサー率54% (777/1416)
そうでしたね、パスワード付けるんですよね。 ZIP32J.DLLのAPIを使うしかないようです。 (1)下記URLからZIP32J.DLL、ZIP32.DLLを取得し、 同じフォルダに置きます。便宜上、"C:\ZIP"とします。 http://www.csdinc.co.jp/archiver/lib/zip32j.html#download (2)VBでは以下のように定義します。 Declare Function Zip Lib "ZIP32J" (ByVal hWnd As Long, _ ByVal szCmdLine As String, ByVal szOutput As String, _ ByVal dwSize As Long) As Long (3)実際の動作 Dim ReturnCode As Long Dim Result As String ChDir "C:\ZIP" '* DLLのあるフォルダをカレントにする。 Result = Space(4096) '* 出力情報を受け取る領域を作成する。 '★ パスワードは xxxx で、zzzz.csv → yyyy.zip 圧縮する。 ReturnCode = Zip(0, "-P xxxx yyyy.zip yyyy.csv", Result, 4096) If ReturnCode = 0 Then MsgBox "成功" Else MsgBox "失敗" End If
- nda23
- ベストアンサー率54% (777/1416)
XPなら下記フリーソフトで実現していることを参考にしては? http://www.vector.co.jp/soft/winnt/util/se355605.html この中のMakeZIP.VBSがキモなのですが、コマンドラインから実行できます。 これをWSHのRunメソッドで実行しても良いし、何と言っても平文のVBSなので、 かなりの部分を参考に出来ます。
お礼
回答、本当にありがとうございました。 とても助かりました。 MakeZIP.VBSをVBに組み込んでみたところうまく動きました。 たびたびで申し訳ないのですが、圧縮したZIPに対して VBからパスワードをつける事はできますでしょうか?
- nac03056
- ベストアンサー率48% (203/419)
正規のwinzipを購入すればコマンドラインからイロイロできると思いますが、フリーで出回っているものでも同様の機能のものがあるかもしれません。そのあたりを調べてみてはいかがでしょう。
お礼
早急な回答ありがとうございました。 調べてみます。
お礼
親切丁寧な回答ありがとうございました。