VBAを利用してGZIP形式でファイルを圧縮する方法 削除
Message#2 2014年10月14日(火)02時05分 From: 管理人 |
TAR32.DLLというDLLにGZIP圧縮ができる機能があるので、こちらを利用すればできます。 下記よりダウンロードしてください。 http://www.csdinc.co.jp/archiver/lib/tar32.html 以下がサンプルですので、ご確認ください。 ●コマンドラインの形式 -<command> [-<option>...] <archive_file_name.{tar,tar.gz,tar.bz2,tar.xz,tar.lzma}> [<directory_name>\] [<filenames>...] ●コマンド -c:指定されたファイルをアーカイブに圧縮します。 ●オプション -G:gzipまたはbzip2相当の圧縮のみを行います。 Public Declare Function Tar Lib "Tar32.dll" (ByVal hwnd As Long, _ ByVal szCmdLine As String, _ ByVal Lpstr As String, _ ByVal wsize As Long) As Integer Sub sample() a = CompressFile("★圧縮するファイルパス★", "★圧縮したファイルパス★(拡張子.gz)") End Sub Public Function CompressFile(strDataFile As String, strgZIPFile As String) As Boolean '概要 指定ファイルをgZIP形式に圧縮する '引数 strDataFile : 圧縮元のファイルパス ' strgZIPFile : 圧縮先のLZHファイルのパス '返値 成功時 True、失敗時 False Dim strCmdLine As String Dim strBuff As String * 5000 Dim lngRet As Long 'TAR32に渡すコマンドラインを組み立て strCmdLine = "-c -G " & strgZIPFile & " " & strDataFile 'TAR32にコマンドを発行 lngRet = Tar(0, strCmdLine, strBuff, 5000) '返り値の設定 If lngRet = 0 Then CompressFile = True Else CompressFile = False End If End Function |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。