C# VB Web システム開発の部屋

システム開発で役に立つコードを厳選したブログです。

【VB.NET】複数ファイルをまとめて簡単にZIP圧縮する(SharpZipLib)

 

ICSharpCode.SharpZipLib.dll

上記dllをプロジェクトの参照設定に追加します。

※WEBでフリーダウンロードできます。

 

'作成するZIPファイルの設定
Dim strZipName As String = "ZIPファイルの名前" & ".zip"

'ZIPファイルのパス。既に存在している場合は、上書きされる 。
Dim strZipFilePath As String = "ZIPファイルのパス"

'圧縮するフォルダのパス
Dim sourceDirectory As String = ”圧縮するフォルダのパス”

'サブディレクトリも圧縮(フォルダを作成しない場合はTrue) 
Dim recurse As Boolean = True
Dim fastZip As New ICSharpCode.SharpZipLib.Zip.FastZip()

'ZIP64を使うか。デフォルトはDynamicで、状況に応じてZIP64を使う 
'(大きなファイルはZIP64でしか圧縮できないが、対応していないアーカイバもある)
fastZip.UseZip64 = ICSharpCode.SharpZipLib.Zip.UseZip64.On

'パスワードを設定するには次のようにする
'fastZip.Password = "password"

'圧縮してZIP書庫を作成 
fastZip.CreateZip(strZipFilePath, sourceDirectory, recurse, Nothing, Nothing)

 

VB.NET