人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excel/VBAでWindows標準のWinzipでファイルを圧縮する方法
質問させて下さい。
?Excelでファイルを別BOOKとして保存
?別BOOKとして保存を、同一フォルダ内にZipファイルとして圧縮。
?そのあと、別BOOKを削除
上記?と?はできましたが、2.の圧縮についてが、理解できずにおります。
ご存知の方がいましたら、ご教授いただければ幸いです。

●質問者: myonlinebookmark
●カテゴリ:コンピュータ
○ 状態 :キャンセル
└ 回答数 : 0/0件

▽最新の回答へ

質問者から

自力で検索してみた、サンプルソースを作ってみたが、
質問させてください。
?なぜか”オブジェクトが必要です”でエラーが発生した
Wscript.sleep 100のあたり。
?圧縮後のファイルにパスワードをかけたいのですが、可能でしょうか。
Private Sub CommandButton1_Click()
Dim files(0)
files(0) = "D:\foo\zipsample"
' Call MakeZip("圧縮後のファイル名を絶対パスで記述",files)
zipfilea = "D:\foo\zipsample\tar123.zip"
Call MakeZip(zipfilea, files)

End Sub
Sub MakeZip(ByVal ZipPath, ByRef FileArray)
Dim sfo, app, file, num, zipFolder

Set sfo = CreateObject("Scripting.FileSystemObject")
Set app = CreateObject("Shell.Application")

If sfo.FileExists(ZipPath) = True Then
sfo.DeleteFile ZipPath
End If

With sfo.CreateTextFile(ZipPath, True)
.Write "PK" & Chr(5) & Chr(6) & String(18, 0)
.Close
End With

num = 0

Set zipFolder = app.Namespace(sfo.GetAbsolutePathName(ZipPath))
For Each file In FileArray
If CStr(file) <> "" Then
file = sfo.GetAbsolutePathName(file)
zipFolder.CopyHere (file)
num = num + 1
End If
Next

Do Until zipFolder.Items().Count = num
Wscript.sleep 100
Loop

Set sfo = Nothing
Set app = Nothing

End Sub


関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ