Войти

Показать полную графическую версию : Архивирование папки в папке %temp%


Dark_Timur
03-07-2012, 00:43
В общем, надо заархивировать папку. У меня получилось:


Option Explicit
Dim Tmp As String
Dim Zip As New Shell
Dim ZipFile As String
Dim fso As New FileSystemObject
Dim ts As TextStream
Dim WhatToZip As String
Tmp = Environ("temp") ' Делаем Tmp равной местонахождению папки %temp%
ZipFile = Tmp + "\Dir.ZIP"
WhatToZip = Tmp + "\dir\"
Set ts = fso.OpenTextFile(Path & "\Dir.ZIP", ForWriting, True) ' Создается файл
ts.Write "PK" & Chr(5) & Chr(6) & String(18, vbNullChar) ' Этот файл превращается в ZIP
ts.Close ' Закрывается этот файл
Set Zip = CreateObject("Shell.Application")
Zip.NameSpace(ZipFile).CopyHere Zip.NameSpace(WhatToZip) ' И в этот ZIP файл архивируется папка


Выдается ошибка:

run-time error 91

Помогите пожалуйста, уже много чего перепробывал, всё равно ошибка. Прошу мне не предлагать использование WinRARa в консоли. Заранее спасибо.

ferget
03-07-2012, 02:19
а ели так

Zip.NameSpace((ZipFile)).CopyHere Zip.NameSpace((WhatToZip))

Dark_Timur
03-07-2012, 10:03
Zip.NameSpace((ZipFile)).CopyHere Zip.NameSpace((WhatToZip))

Спасибо, но получилась новая ошибка

run-time error '-2147024894' (80070002) automation error

Уже прогресс. Спасибо за помощь. Сейчас буду разбираться с ошибкой.

Dark_Timur
03-07-2012, 13:42
Судя по всему проблема в том, что папка для архивирования и сам архив находятся в директории %temp%. По мере возможности прошу: подскажите мне, как организовать архивирование папки в директории %temp%. Заранее спасибо.




© OSzone.net 2001-2012