Home |
Search |
Today's Posts |
#10
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Ron.. the Wait solution...Counting! I also noted that the NameSpace method fails if you pass it a string variable.... Sub Zip_All_Files_in_Folder() Dim sDefPath$, sDate$ Dim vZipPath, vFldPath 'MUST be Variants! Dim lFldCount& Dim oApp As Object Dim oZip As Object Dim oFld As Object vFldPath = "e:\testje\" '<< Change sDefPath = Application.DefaultFilePath sDefPath = "e:\" If Right(sDefPath, 1) < "\" Then sDefPath = sDefPath & "\" End If sDate = Format(Now, " dd-mmm-yy h-mm-ss") vZipPath = sDefPath & "MyFilesZip " & sDate & ".zip" 'Create empty Zip File Call NewZip(vZipPath) Set oApp = CreateObject("Shell.Application") Set oFld = oApp.Namespace(vFldPath) Set oZip = oApp.Namespace(vZipPath) 'Get the count of files to be compressed lFldCount = oFld.Items.Count 'Copy the files to the compressed folder oZip.CopyHere oFld.Items 'Keep script waiting until Compressing is done Do Until oZip.Items.Count = lFldCount Application.Wait (Now + TimeValue("0:00:01")) Loop MsgBox "You find the zipfile he" & vbLf & vZipPath Set oFld = Nothing Set oZip = Nothing Set oApp = Nothing End Sub -- -- keepITcool | www.XLsupport.com | keepITcool chello nl | amsterdam Ron de Bruin wrote : Hi keepITcool You code example is working Ok and is shorter and simpler . BTW : do you have better idea about the wait code on my site http://www.rondebruin.nl/windowsxpzip.htm#Wait I test a few other things but this is the only thing that is working for me (also with big Excel files 5-10 mb) |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Open Excel file from VB and open MACRO | Excel Discussion (Misc queries) | |||
Open a file do a macro ( made) and open next succesive file | Excel Programming | |||
Macro to call a file that has a auto open macro in the file itself | Excel Programming | |||
Automate open file, update links, run macro, close and save file | Excel Programming |