VBA Excel: Compacte as suas planilhas resultantes de automação.

header_welcome.jpg

Senhoras e senhores, segue uma funcionalidade muito útil para aqueles que lidam com grandes volumes de dados e querem acrescentar certa sofisticação às suas aplicações.

Sabe aquelas nossas aplicações que geram outras planilhas como resultado da nossa automação? pois bem, tais Relatórios, Dashboards, ou Scorecards podem em alguns modelos de negócio, serem extremamente grandes.

Que tal compactar e descompactá-los? 

Tanto o nome como a pasta destino estão no código do exemplo:

Sub DEScompacte_Zip()
    Dim PathWinZip As String
    Dim FileNameZip As String

    Dim ShellStr As String
    Dim FolderName As String

    Let PathWinZip = "C:\A&A\winzip\"

    ' Aqui checaremos o local onde o WinZip está instalado.
    If Dir(PathWinZip & "winzip32.exe") = "" Then

        MsgBox "Por favor, identifique onde a sua cópia do winzip32.exe está instalada e tente novamente"

        Exit Sub
    End If

     Let FileNameZip = "C:\Dados\Test.zip"
    Let FolderName = "C:\Dados\"

     ' Descompacta o arquivo Zip na pasta FolderName.
    Let ShellStr = PathWinZip & "Winzip32 -min -e" & " " & Chr(34) & FileNameZip & Chr(34) & " " & Chr(34) & FolderName & Chr(34)


    ShellAndWait ShellStr, vbHide

    MsgBox "Observe a pasta " & FolderName & " onde os arquivos foram descompactados"
End Sub

Tagsexcel, zip, compact, automation

André Luiz Bernardes
A&A® - Work smart, not hard.


Nenhum comentário:

Postar um comentário

diHITT - Notícias