Страницы: 1
RSS
Разархиватор архивов 7zip на vba, Разархивировать архивы, в т.ч. вложенные в другие архивы с помощью 7z
 
Доброго дня!
Ни форуме, ни на просторах интернета не нахожу рабочего кода на VBA для задачи:
Указав папку, разархивировать в текущую папку несколько архивов, в т.ч. архивов в архивах - с помощью 7zip, или встроенных средств Виндоус. Архивы исходные нужно удалить.
В макросах не силён, прошу показать рабочий код.
 
Код
CreateObject("WScript.Shell").Run """C:\Program Files\WinRAR\RAR.exe"" E -y """ & ИМЯ АРХИВА & """" & " " & """" & ПАПКА КУДА & """", vbHide, True

Цитата
написал:
Архивы исходные нужно удалить.
Код
Kill ПОЛНОЕ ИМЯ АРХИВА
Изменено: МатросНаЗебре - 23.03.2022 10:43:08
 
Уважаемый МатросНаЗебре, Винрар не  могу установить. 7zip !
Изменено: Иван Зайцев - 23.03.2022 11:04:18
 
Предположу, что так:
Код
CreateObject("WScript.Shell").Run """C:\Program Files\7-Zip\7z.exe"" E """ & ИМЯ АРХИВА & """" & " " & """" & ПАПКА КУДА & """", vbHide, True
 
Не работает строка. Ничего не происходит(
Имя архива и Папка куда - это полные пути?
 
Цитата
написал:
Предположу, что так:
Не так.
Код
    Folde7Z = "C:\Program Files\7-Zip\7z.exe"  
    Arguments = "x -aos -o" & Chr(34) & FolderRoot & Chr(34) & " -sccUTF-8 " & Chr(34) & SourceFile & Chr(34)
    Comman = Chr(34) & Folde7Z & Chr(34) & " " & Arguments
    res = CreateObject("wscript.Shell").Run(Comman, 0, True)
 
doober, поясните, пожалуйста, - FolderRoot - это путь к папке с архивом, а SuurceFile  - это только файл архива? Если это так, то результат тот же: нет реакции по результатам исполнения кода!
Изменено: Иван Зайцев - 23.03.2022 13:46:30
 
FolderRoot - это папка куда распаковывать, а SourceFile файл архива с путем
 
Заработало (!) после правок по пояснению Alice Sadman. Спа-си-бо)
Осталось понять, как обработать все архивы внутри основного архива и зачистить исходные архивы после распаковки...
Страницы: 1
Наверх