No, Time() just returns the current system time immediately. What you want is a Timer component on your form. This is an invisible (at run time) component that you use by setting its Interval property to the number of milliseconds you want to pass before the component fires a Timer event. Meanwhile you can do other stuff.
When the Timer event fires, you can do anything you want in it, like saving your file. The event procedure can then set the Interval again to schedule another Timer event later, if desired. When the procedure exits, whatever code was running will resume. I think that's exactly what you want.
When using Timer controls, you have to keep in mind that the Timer event occurs "asynchronously", which means the current state of your application at that moment is unpredictable. There might be situations in which your application should not save the file (e.g., you might be doing some sort of global search and replace). If such conditions exist, your non-Timer code should set a "don't save now" flag until it's safe to save. The Timer routine should test that flag, and if it's set, the Timer should wait for a short interval to pass (say, 1 second) before trying again. It can do this simply by setting Interval to 1000 and exiting.
Also remember that whatever form contains the Timer control must stay open the entire time it's waiting. If you close it, the Timer will be canceled. Rick Sprague