Hi,
I want to zip just 5files from a folder with 30 files.. i have this code:
but i don't want to do a copy of the files first.. because the files are to big and takes a lot of time..
I want to access the folder, and zip just the files that i want for another folder. Can you help me?
'------------------------------------------------------------------------------------------
'Backup
Private Sub Comando96_Click()
month_n = DLookup("month([Fec_data])", _
"T_MES")
year_n = DLookup("year([Fec_data])", _
"T_MES")
MkDir ("G:\OrcControlo\SCC\Processo\Backups\" & year_n & "\" & year_n & "0" & month_n)
'compact bd
Application.SetOption "Auto compact", True
'secutiry copy
FileCopy "G:\Orc\S\Process\00", "G:\Orc\S\Process\Backups\Backup\00Custos_tabelas_ gerais.mdb"
FileCopy "G:\Orc\S\Process\01", "G:\Orc\S\Process\Backups\Backup\00Custos_tabelas_ gerais.mdb"
FileCopy "G:\Orc\S\Process\02", "G:\Orc\S\Process\Backups\Backup\00Custos_tabelas_ gerais.mdb"
FileCopy "G:\Orc\S\Process\03", "G:\Orc\S\Process\Backups\Backup\00Custos_tabelas_ gerais.mdb"
FileCopy "G:\Orc\S\Process\04", "G:\Orc\S\Process\Backups\Backup\00Custos_tabelas_ gerais.mdb"
'zip
folder_destiny = "G:\OrcControlo\SCC\Processo\Backups\" & year_n & "\"
folder_to_zip= "G:\OrcControlo\SCC\Processo\Backups\" & year_n
name_zip = folder_destiny & "Custos_" & ano & mes & ".zip"
'Criar um arquivo zip vazio
Call Novo_zip_vazio(nome_zip)
Set oApp = CreateObject("Shell.Application")
oApp.NameSpace(name_zip).CopyHere oApp.NameSpace(folder_to_zip).Items
'Aguardar o término da compactação
On Error Resume Next
Do Until oApp.NameSpace(nome_zip).Items.Count = oApp.NameSpace(pasta_a_zipar).Items.Count
'Application.Wait (Now + TimeValue("0:00:01"))
Loop
On Error GoTo 0
Kill "G:\OrcControlo\SCC\Processo\Backups\" & ano & "\" & year_n & month_n & "\*.*" ' delete all files in the folder
RmDir "G:\OrcControlo\SCC\Processo\Backups\" & year_n & "\" & year_n & month_n ' delete folder
End Sub
Sub New_zip(sPath)
If Len(Dir(sPath)) > 0 Then Kill sPath
Open sPath For Output As #1
Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
Close #1
End Sub