• 締切済み

VB6でCSVファイルにパスワードをかける方法

お世話になります。 VB6でCSVファイルにパスワードをかけたいと考えています。 WINDOWS標準のZIP形式にしてパスワードをかけるのでもよいのですが やり方が見つかりません。(VBからどうやるのか) どなたかわかる方がいらっしゃいましたらよろしくお願いします。 すみませんが教えてください。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1416)
回答No.3

そうでしたね、パスワード付けるんですよね。 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

zibika
質問者

お礼

親切丁寧な回答ありがとうございました。

  • nda23
  • ベストアンサー率54% (777/1416)
回答No.2

XPなら下記フリーソフトで実現していることを参考にしては? http://www.vector.co.jp/soft/winnt/util/se355605.html この中のMakeZIP.VBSがキモなのですが、コマンドラインから実行できます。 これをWSHのRunメソッドで実行しても良いし、何と言っても平文のVBSなので、 かなりの部分を参考に出来ます。

zibika
質問者

お礼

回答、本当にありがとうございました。 とても助かりました。 MakeZIP.VBSをVBに組み込んでみたところうまく動きました。 たびたびで申し訳ないのですが、圧縮したZIPに対して VBからパスワードをつける事はできますでしょうか?

  • nac03056
  • ベストアンサー率48% (203/419)
回答No.1

正規のwinzipを購入すればコマンドラインからイロイロできると思いますが、フリーで出回っているものでも同様の機能のものがあるかもしれません。そのあたりを調べてみてはいかがでしょう。

zibika
質問者

お礼

早急な回答ありがとうございました。 調べてみます。

関連するQ&A