Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Архивирование папки в папке %temp% (http://forum.oszone.net/showthread.php?t=237757)

Dark_Timur 03-07-2012 00:43 1944668

Архивирование папки в папке %temp%
 
В общем, надо заархивировать папку. У меня получилось:

Код:

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 1944682

а ели так

Код:

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

Dark_Timur 03-07-2012 10:03 1944755

Код:

Zip.NameSpace((ZipFile)).CopyHere Zip.NameSpace((WhatToZip))
Спасибо, но получилась новая ошибка

Код:

run-time error '-2147024894' (80070002) automation error
Уже прогресс. Спасибо за помощь. Сейчас буду разбираться с ошибкой.

Dark_Timur 03-07-2012 13:42 1944926

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


Время: 05:21.

Время: 05:21.
© OSzone.net 2001-