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

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

angej
Сообщения: 13
Зарегистрирован: 25 сен 2008, 15:32

У меня єсть файлы упакованые архиватором arj, которые я потом обрабатываю макросом, и хотелось что б сам макрос сначала делал их распаковку. Может кто знает как в макросе прописать распаковку?
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

архиватором arj, чем же еще?
кстати ,если у Вас стоит Тотал коммандер, в нем сейчас встроены все архиваторы.
Достаточно найти в меню опцию "Файл - Распаковать"
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
angej
Сообщения: 13
Зарегистрирован: 25 сен 2008, 15:32

Тотал есть, но у меня много файлов заархивированых которых я потом обрабатываю макросом, и хотелось чтоб сам макрос сначала их распаковывал :rolleyes:
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

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

неправильно поставленная задача, предполагает неправильное ее решение!
Смотрите Ваш 1-й пост, о макросах ни слова.
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
Serge_Bliznykov
Сообщения: 375
Зарегистрирован: 31 авг 2007, 03:06

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) 
Pavel55
Сообщения: 418
Зарегистрирован: 20 окт 2006, 11:40
Откуда: Moscow

Ну, если 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 ) я там модератор )
Serge_Bliznykov
Сообщения: 375
Зарегистрирован: 31 авг 2007, 03:06

&quot писал(а):Кстати, тот Pavel с форума bit.pirit.info и я - одно и тоже лицо )
Дык, а то кто бы сомневался?!! :-D я вообще, если где вижу на форуме про Excel умное сообщение (обычно с кодом макроса VBA) от Pavel — то практически уверен, что это "тот самый бывший учитель информатики, а теперь просто Учитель - Павел 55" :-)
Pavel55
Сообщения: 418
Зарегистрирован: 20 окт 2006, 11:40
Откуда: Moscow

)) а я учился у Pashulka ) Его сайт http://www.msoffice.nm.ru

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

http://www.msoffice.nm.ru/faq/macros.htm
Nataliya
Сообщения: 2
Зарегистрирован: 17 июн 2009, 11:23

Скажите, пожалуйста, как распаковать все файлы по указанной дериктории при этом поменяв им название?

У меня есть куча заархивированных вин раром файлов
название архива меня вполне устраивает, а вот внутри каждого архива лежит одинаково названный файл для всех архивов
цель: быстро их всех разархивировать, причем чтоб назывались они именем названия архивов (иначе все перемешаются, поскольку внутри каждого файлы с одинаковым именем, как я уже писала)
Аватара пользователя
Aent
Сообщения: 1129
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

Последовательно распаковывать во временный каталог и перемещать в основной с переименованием в цикле по файлам
Андрей Энтелис,
aentelis.livejournal.com
Ответить