pesssoal bom dia,
para descompactar com WINRAR, uso o código a baixo, e vem me atendendo perfeitamente, porem veio a necessidade de "extrair aqui" igual se fosse fazer manualmente funciona, porem ele está extraido tudo até o que está dentro das pastas deixando tudo na raiz, para ficar melhor o entendimento, a imagem 01 é como o código está fazendo, mais deveria fazer igual a imagem 02. já pesquisei no forum e não encontrei nenhum código ou modificações que me atendesse.
imagem 01:
imagem 02:
para descompactar com WINRAR, uso o código a baixo, e vem me atendendo perfeitamente, porem veio a necessidade de "extrair aqui" igual se fosse fazer manualmente funciona, porem ele está extraido tudo até o que está dentro das pastas deixando tudo na raiz, para ficar melhor o entendimento, a imagem 01 é como o código está fazendo, mais deveria fazer igual a imagem 02. já pesquisei no forum e não encontrei nenhum código ou modificações que me atendesse.
- Código:
Private Sub DescompactarWinRar()
Dim WinRarPath As String
Dim RarIt As String
Dim SourceDir As String
Dim SourceRarFile As String
Dim Source As String
Dim Desti As String
'se for 86 bits
If Len(Dir("C:\Program Files (x86)\Winrar\WinRAR.EXE")) > 0 Then
WinRarPath = "C:\Program Files (x86)"
'x64 bits
ElseIf Len(Dir("C:\Program Files\Winrar\WinRAR.EXE")) > 0 Then
WinRarPath = "C:\Program Files"
End If
'WinRarPath = "C:\Program Files" 'aqui é onde fica o caminho do programa WinRar
SourceDir = "C:\Sistemas_de_vales\Form atualizado\SistemasVales.rar" 'local onde fica o arquivo para descompatar
SourceRarFile = "SistemasVales.rar" 'nome do arquivo ue será descompactado
Source = SourceDir & "\" & SourceRarFile
Desti = "C:\Sistemas_de_vales\Form atualizado"
'RarIt = Shell(WinRarPath & "WinRar.exe e " & Source & " " & Desti, vbNormalFocus)
'descompacta arquivo
RarIt = Shell(WinRarPath & "\Winrar\WinRAR.EXE e " & Chr(34) & SourceDir & Chr(34) & " " & Chr(34) & Desti & Chr(34), vbNormalFocus)
End Sub
imagem 01:
imagem 02: