Страницы: 1
RSS
Распаковать архив
 
Добрий день!
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub unzip()
    iPath = "D:\Temp\08.11.2016\"
    MyName = Dir(iPath, vbNormal)
    MyName = iPath & MyName
'Do While MyName <> ""
If MyName Like "*.rar" Or MyName Like "*.zip" Or MyName Like "*.7z" Then
    zipApp$ = "D:\Program Files\7-Zip\7z.exe e"
        iArhivName$ = MyName
    adr$ = zipApp$ & " """ & iPath & iArhivName$ & """ """ & iPath & """ "
    RetVal = Shell(adr$, vbHide)
End If
   ' MyName = Dir()
'Loop
End Sub

есть макрос которий должен распаковивать архиви, но ничего не происходит
Нужно распаковать zip-архив, после распаковки удалить архив из папки
Изменено: sergey2303 - 09.11.2016 14:14:55
 
загуглить решение пробовали?

http://excelvba.ru/code/UNZIP
http://excelvba.ru/code/CreateBackup
 
здесь
http://excelvba.ru/code/CreateBackup
есть Функция для разархивирования (извлечения файлов из архива ZIP)
с удалением архива, но не нахожу макроса
 
удалить архив (или любой другой файл)
KILL "полный путь к удаляемому файлу"
 
может кто-то подправить мой макрос?
 
немного переделал макрос,  первий архив распаковывается нормально,
а вот а второй архив(он затирает первий архив так как он с таким же именем,
т.е в папке новий архив и файли с первого архива)
 не распаковывает,скрипт перебирает все файли после распаковке первого,
 а архив не находит
прошу подправить скрипт
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub unzip()
    iPath = "D:\Temp\08.11.2016\"
    MyName = Dir(iPath, vbNormal)
    MyName = iPath & MyName
Do While MyName <> ""
If MyName Like "*.rar" Or MyName Like "*.zip" Or MyName Like "*.7z" Then
    WinRarApp$ = "D:\Program Files\winRAR\winRAR.exe e"
        iArhivName$ = MyName
    adr$ = WinRarApp$ & " """ & iArhivName$ & """ """ & iPath & """ "
    RetVal = Shell(adr$, vbHide)
End If
    MyName = Dir()
Loop
End Sub
Изменено: sergey2303 - 10.11.2016 16:05:02
 
Сам задал вопрос сам и отвечаю
окончательний код
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub unzip()
Dim iPath, strMaskSearch, MyName As String
iPath = "D:\Temp\08.11.2016\"
strMaskSearch = "*.zip"
  
 If Len(Dir(iPath)) = 0 Then
               MkDir iPath
        End If
 
MyName = Dir(iPath & strMaskSearch)
  
Do While MyName <> ""
    If MyName Like "*.rar" Or MyName Like "*.zip" Or MyName Like "*.7z" Then
    WinRarApp$ = "D:\Program Files\winRAR\winRAR.exe e"
        iArhivName$ = iPath & MyName
    adr$ = WinRarApp$ & " """ & iArhivName$ & """ """ & iPath & """ "
    RetVal = Shell(adr$, vbHide)
    End If
     
    MyName = Dir
Loop
End Sub
Страницы: 1
Читают тему
Наверх
Loading...