Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

descompactar aqruivo zip

como faço pra descompactar um arquivo que se encontra na pasta c:\pasta1. nome do arquivo = arquivo.zip, usando o 7.zip

3 respostas

Olá Danielle, tudo bem?

Ao clicar sobre o arquivo com o botão direito do mouse, terá uma opção chamada 7-zip. Coloque o ponteiro do mouse sobre a opção e aparecerão várias opções. Selecione Extrair aqui e os arquivos serão descompactados.

Espero ter ajudado e bons estudos!

David, quero saber como faz isso na macro em vba.

solução!

Oi Daniele. Se você quer criar uma macro para extrair determinado arquivo segue um exemplo que você pode adaptar conforme sua necessidade:

Sub Unzip1()
    Dim FSO As Object
    Dim oApp As Object
    Dim Fname As Variant
    Dim FileNameFolder As Variant
    Dim DefPath As String
    Dim strDate As String
'O código abaixo vai solicitar o caminho onde o arquivo zip se encontra.
'Ao invés de solicitar você pode trocar o código pelo caminho que você deseja setar (exemplo: "C:\Users\Daniela\test\")
    Fname = Application.GetOpenFilename(filefilter:="Zip Files (*.zip), *.zip", _
                                        MultiSelect:=False)
    If Fname = False Then
        'Do nothing
    Else

        'Este código vai pegar a pasta root principal, pode ser substituido por outro caminho se preferir
        DefPath = Application.DefaultFilePath
        If Right(DefPath, 1) <> "\" Then
            DefPath = DefPath & "\"
        End If

        'Este código definirá o nome da pasta a ser criado
        strDate = Format(Now, " dd-mm-yy h-mm-ss")
        FileNameFolder = DefPath & "MinhaPastaExtraida " & strDate & "\"
'O código abaixo irá criar o nome para a pasta onde irá colocar os arquivos extraídos
        MkDir FileNameFolder

        'Extrai o arquivo zip
        Set oApp = CreateObject("Shell.Application")
    'Cola os arquivos extraidos para pasta destino
        oApp.Namespace(FileNameFolder).CopyHere oApp.Namespace(Fname).items

        'Se quiser extrair apenas um arquivo dentro do zip, utilize o codigo comentado abaixo:
        'oApp.Namespace(FileNameFolder).CopyHere _
         'oApp.Namespace(Fname).items.Item("test.txt")

        MsgBox "Seus arquivos estão aqui na: " & FileNameFolder

        On Error Resume Next
        Set FSO = CreateObject("scripting.filesystemobject")
        FSO.deletefolder Environ("Temp") & "\Temporary Directory*", True
    End If
End Sub

Se esta resposta foi o suficiente para sanar sua duvida, marque este post como solucionado. Obrigado e bons estudos.