Compactar arquivos, via VBA, usando o WinZip
Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito.
Veja como comprar e saiba mais sobre o material oferecido, clicando aqui.
Usuário Luís:
Bom dia.
No Backup do Maestro_v5 é possível compactar a base de dados com o WinZip?
Suporte:
Luis,
copie esta Sub em um módulo global:
Public Sub fncCriarArquivoZip(sPath)
Dim ofso, arrHex, sBin, i, Zip
On Error Resume Next
Set ofso = CreateObject("Scripting.FileSystemObject")
arrHex = Array(80, 75, 5, 6, 0, 0, 0, _
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
For i = 0 To UBound(arrHex)
sBin = sBin & Chr(arrHex(i))
Next
On Error Resume Next
With ofso.CreateTextFile(sPath, True)
.Write sBin
.Close
End With
Exit Sub
End Sub
Com ela, você cria o arquivo Zip (vazio).
Exemplo:
call fncCriarArquivoZip("c:\suapasta\backup_teste.Zip")
E com a função abaixo, você copia o arquivo desejado para dentro do arquivo Zip criado:
Dim oApp as object
'cria o arquivo Zip(vazio)
call fncCriarArquivoZip("c:\suapasta\backup_teste.Zip")
Set oApp = CreateObject("Shell.Application")
'copia o arquivo accdb para dentro do arquivo Zip criado
oApp.NameSpace("c:\suapasta\backup_teste.Zip").CopyHere "c:\suaPasta\seuBd.accdb"
Set oApp = Nothing
Agora é adaptar ao Maestro.
Usuário Luis:
Boa Tarde.
Funcionou redondinho!
Muito Obrigado!
Não há comentário |