DotNetZipをインストールして、Windows2008サーバーで正常に実行しています。
従来のASPページを使用して、カンマ区切りのファイルをユーザーにバンドルし、zipファイルで送信したいと思います。
次のコードは正常に機能しますが、すべてのパス情報が保存されるため、zipファイル内のファイルは次のようなばかげたディレクトリにあります。C:\Inetpub\wwwroot\appname\_temp\
私は次のコードを使用しています:
Set objZip = CreateObject("Ionic.Zip.ZipFile")
sFileArray = Split(sFileArray, "|")
For iCount = 0 To UBound(sFileArray)
If sFileArray(iCount) <> "" Then
objZip.AddFile sFileArray(iCount)
End If
Next
objZip.Name = sFilePath & "test.zip"
objZip.Save()
objZip.Dispose()
Set objZip = Nothing
このAddFile
メソッドでは、2番目のパラメーターを追加する場合に、追加したファイルをzipファイルのどこに配置するかを指定できることがわかります。ドキュメントによると、objZip.AddFile sFileArray(iCount), ""
ファイルをzipファイルのルートに配置する必要があります。
ただし、そのパラメーターを追加すると、次のエラーが発生します。
Wrong number of arguments or invalid property assignment: 'objZip.AddFile'
誰かが私が間違っていることを知っていますか?
ありがとう。