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 StringDim FileNameZip As String
Dim ShellStr As StringDim FolderName As StringLet PathWinZip = "C:\A&A\winzip\"' Aqui checaremos o local onde o WinZip está instalado.If Dir(PathWinZip & "winzip32.exe") = "" ThenMsgBox "Por favor, identifique onde a sua cópia do winzip32.exe está instalada e tente novamente"Exit SubEnd IfLet 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, vbHideMsgBox "Observe a pasta " & FolderName & " onde os arquivos foram descompactados"End Sub
Tags: Microsoft Office, excel, zip, compact, automation