Страница 1 из 2

Распаковка файлов

Добавлено: 06 окт 2008, 13:48
angej
У меня єсть файлы упакованые архиватором arj, которые я потом обрабатываю макросом, и хотелось что б сам макрос сначала делал их распаковку. Может кто знает как в макросе прописать распаковку?

Re: Распаковка файлов

Добавлено: 06 окт 2008, 14:54
VictorM
архиватором arj, чем же еще?
кстати ,если у Вас стоит Тотал коммандер, в нем сейчас встроены все архиваторы.
Достаточно найти в меню опцию "Файл - Распаковать"

Re: Распаковка файлов

Добавлено: 06 окт 2008, 16:50
angej
Тотал есть, но у меня много файлов заархивированых которых я потом обрабатываю макросом, и хотелось чтоб сам макрос сначала их распаковывал :rolleyes:

Re: Распаковка файлов

Добавлено: 06 окт 2008, 17:33
VictorM
angej писал(а):Тотал есть, но у меня много файлов заархивированых которых я потом обрабатываю макросом, и хотелось чтоб сам макрос сначала их распаковывал :rolleyes:

неправильно поставленная задача, предполагает неправильное ее решение!
Смотрите Ваш 1-й пост, о макросах ни слова.

Re: Распаковка файлов

Добавлено: 06 окт 2008, 23:06
Serge_Bliznykov
angej, посмотрите на решение от Павла
Как создать архив файла с помощью VBA?
правда, там не распаковка, а запаковка, и не arj.exe, а WinRar.exe - но смысла это не меняет...
Pavel писал(а):Центральная часть всего макроса в этих кодах

Код: Выделить всё

    iFileName$ = iPath$ + iFileName$ 
    WinRarApp$ = "C:\Program Files\WinRAR\WinRAR.exe a -ep -df "  
    Adr = WinRarApp$ & " """ & iFileNameRar$ & """ """ & iFileName$ & """ " 
    RetVal = Shell(Adr, vbHide) 

Re: Распаковка файлов

Добавлено: 08 окт 2008, 00:23
Pavel55
Ну, если arj похож на rar, то вот пример разархивирования архива RAR

Разархивируем архив C:\Temp\Test 5.rar
Код:

Код: Выделить всё

Sub UnRar() 
   'Разархивируем архив C:\Temp\Test 5.rar 
    WinRarApp$ = "C:\Program Files\WinRAR\WinRAR.exe e -o+" 
    ' e  - разархивировать 
    ' -o+  - перезаписывать существующие файлы 
    iPath = "C:\Temp\" 
    iArhivName$ = "Test 5.rar" 
    'добавляем двойные кавычки, что позволит нам работать с именем файла и путём, которые содержат пробелы. 
    'без кавычек пробелы недопустимы 
    adr$ = WinRarApp$ & " """ & iPath & iArhivName$ & """ """ & iPath & """ " 
    RetVal = Shell(adr$, vbHide)  'vbNormalFocus) 
End Sub
P.S. Кстати, тот Pavel с форума bit.pirit.info и я - одно и тоже лицо )
У меня обычно на всех форумах ник Pavel55, а на Bit'e просто Pavel ) я там модератор )

Re: Распаковка файлов

Добавлено: 08 окт 2008, 21:57
Serge_Bliznykov
&quot писал(а):Кстати, тот Pavel с форума bit.pirit.info и я - одно и тоже лицо )
Дык, а то кто бы сомневался?!! :-D я вообще, если где вижу на форуме про Excel умное сообщение (обычно с кодом макроса VBA) от Pavel — то практически уверен, что это "тот самый бывший учитель информатики, а теперь просто Учитель - Павел 55" :-)

Re: Распаковка файлов

Добавлено: 10 окт 2008, 17:19
Pavel55
)) а я учился у Pashulka ) Его сайт http://www.msoffice.nm.ru

и в частности раздел

http://www.msoffice.nm.ru/faq/macros.htm

Re: Распаковка файлов

Добавлено: 17 июн 2009, 11:31
Nataliya
Скажите, пожалуйста, как распаковать все файлы по указанной дериктории при этом поменяв им название?

У меня есть куча заархивированных вин раром файлов
название архива меня вполне устраивает, а вот внутри каждого архива лежит одинаково названный файл для всех архивов
цель: быстро их всех разархивировать, причем чтоб назывались они именем названия архивов (иначе все перемешаются, поскольку внутри каждого файлы с одинаковым именем, как я уже писала)

Re: Распаковка файлов

Добавлено: 17 июн 2009, 16:16
Aent
Последовательно распаковывать во временный каталог и перемещать в основной с переименованием в цикле по файлам