VBAを利用してGZIP形式でファイルを圧縮する方法
未読分:3件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#3 2014年10月14日(火)16時44分 From: PageSpeed | 返事 削除 変更 |
TAR32.DLLはダウンロードできたのですが、どのファイルをどこに入れたよいでしょうか? あとこれを使ってVBAで操作することができるとのことですが、これは記述されたものを書くだけで使えますか? すいません、初心者なのもので色々教えていただければと思います。 |
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 |
Message#1 2014年10月9日(木)12時09分 From: PageSpeed | 返事 削除 変更 |
サイトの表示速度をあげたいと思って、PageSpeed Insightsでチェックをしていた中で、ファイルをGZIP形式に圧縮してアップさせるとよいという内容が書かれていました。 VBAでZIP形式での圧縮方法については、いくつか掲載されていたのですが、GZIP形式での圧縮方法が分かりませんでした。 VBAを使ってIEを操作しながら圧縮したデータをサーバーへ転送できないかと考えています。 ちなみにHTMLファイルについては、サーバー側のphp.ini設定でうまくいったのですが、css・jsファイルについては手動でアップする必要があるみたいなので、ここが自動化できていません。 VBAを利用してGZIP形式でファイルを圧縮する方法をご存知の方は教えてください。 よろしくお願いします。 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降