bmv98rus, посмотрел ссылки - нашел куски кода из которых составил следующее: [vba]
Код
Sub Макрос1()
Dim oShell Set oShell = WScript.CreateObject("WScript.Shell") oShell.Run "c:\program files\winrar\rar.exe" a -ag -x*.jpg C:\Documents\documents.rar C:\Documents" Set oShell = Nothing
End Sub
[/vba] И как - этот код заставить распаковать запароленный архив ?
bmv98rus, посмотрел ссылки - нашел куски кода из которых составил следующее: [vba]
Код
Sub Макрос1()
Dim oShell Set oShell = WScript.CreateObject("WScript.Shell") oShell.Run "c:\program files\winrar\rar.exe" a -ag -x*.jpg C:\Documents\documents.rar C:\Documents" Set oShell = Nothing
End Sub
[/vba] И как - этот код заставить распаковать запароленный архив ?OlegSmirnov
Сообщение отредактировал OlegSmirnov - Понедельник, 04.12.2017, 00:49
OlegSmirnov, http://www.cyberforum.ru/cmd-bat/thread702837.html Я не могу ручатся, но c:\program files\winrar\rar.exe" e -p123 -ag -x*.jpg C:\Documents\documents.rar C:\Documents Проверить не могу ибо много лет RAR не установлен, хватает 7Zip, да и вопрос не косается Excel
на счет запуска можно еще это брать http://www.excelworld.ru/stuff/vba_function/system/shell/24-1-0-102, но первый вариант интеерсен тем, что можно задать принудительно ждать окончания работы запущенной программы, а также получать то что в консоле возвращетеся, но это вам скорее всего не требуется.
OlegSmirnov, http://www.cyberforum.ru/cmd-bat/thread702837.html Я не могу ручатся, но c:\program files\winrar\rar.exe" e -p123 -ag -x*.jpg C:\Documents\documents.rar C:\Documents Проверить не могу ибо много лет RAR не установлен, хватает 7Zip, да и вопрос не косается Excel
на счет запуска можно еще это брать http://www.excelworld.ru/stuff/vba_function/system/shell/24-1-0-102, но первый вариант интеерсен тем, что можно задать принудительно ждать окончания работы запущенной программы, а также получать то что в консоле возвращетеся, но это вам скорее всего не требуется.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
bmv98rus, в общем получилась более-менее работоспособная конструкция: [vba]
Код
Sub Rar_UnRar() Dim RetVal Dim WinRarApp$, iFileName$, iArhivName$, adr$
WinRarApp$ = "C:\Program Files\WinRAR\WinRAR.exe e -o+ " adr$ = "C:\Program Files\WinRAR\WinRAR.exe e -p123 -o+ " & """" & "C:\1\111\1632rt.rar" & """ C:\1\222\""" RetVal = Shell(adr$, vbHide) 'vbNormalFocus) End Sub
[/vba] Но приходится каждый раз при смене пароля - лезть в макрос и менять его. То же касается и названий архива. Значение пароля находится в ячейке I3, адрес архива в ячейке I6, а адрес распаковки в ячейке I9.
Я пытался целевую строчку записать таким образом: [vba]
bmv98rus, в общем получилась более-менее работоспособная конструкция: [vba]
Код
Sub Rar_UnRar() Dim RetVal Dim WinRarApp$, iFileName$, iArhivName$, adr$
WinRarApp$ = "C:\Program Files\WinRAR\WinRAR.exe e -o+ " adr$ = "C:\Program Files\WinRAR\WinRAR.exe e -p123 -o+ " & """" & "C:\1\111\1632rt.rar" & """ C:\1\222\""" RetVal = Shell(adr$, vbHide) 'vbNormalFocus) End Sub
[/vba] Но приходится каждый раз при смене пароля - лезть в макрос и менять его. То же касается и названий архива. Значение пароля находится в ячейке I3, адрес архива в ячейке I6, а адрес распаковки в ячейке I9.
Я пытался целевую строчку записать таким образом: [vba]