|
|
execute macro; save it and close using Application.OnTime |
|
Author |
Message |
choare

|
Posted: Fri May 12 09:33:02 CDT 2006 |
Top |
Excel Programming >> execute macro; save it and close using Application.OnTime
hello,
I would like to know how to save after than the macro is finished to
run; for example I have this piece of code:
.....
dtmTime = Now + TimeValue("00:00:07")
Application.OnTime dtmTime, "thisworkbook.operations"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
"C:\test.xls", FileFormat:=xlHtml, ReadOnlyRecommended:=False,
CreateBackup:=False
Application.DisplayAlerts = True
'and there how to determinate the exact time of the end of my macro; do
you think I have the
'possibility to catch it with something else than now ().
'my macro is a little slow as need to do a lot of calculation
dtmSave = dtmTime + TimeValue("00:01:00")
Application.OnTime dtmSave, "Save_Exit"
ina
Excel129
|
|
|
|
 |
JonR

|
Posted: Fri May 12 09:33:02 CDT 2006 |
Top |
Excel Programming >> execute macro; save it and close using Application.OnTime
Hello ina,
Here is the technique that I use, in three different subs. I use one sub to
set the Application.OnTime timer (which I activate with a control button)
that executes my 'master control' macro (which executes all of the other
macros in the proper sequence). The last macro I have the program execute is
the "Save" macro, which saves a copy in the same path as the original with
today's date appended to the file name. I've nto tried to do anything with
the time of the save, but I'm fairly sure that Now() would give you a usable
variable to add to the file name.
___________________________________________________________________
Sub Timer()
Application.OnTime ("7:55"), "MegaMacro"
' I put the MsgBox in because I use a control button to set the timer
' which runs the update macro.
' You can leave it out if this does not suit your purposes
MsgBox "Timer Set"
End Sub
_____________________________________________________________________
Sub MegaMacro ()
'*****************************************
' I use this macro as "control central" routing the
'spreadsheet to all subsequent macros in the right order
'******************************************
Save_This ' Execute this macro last - after all your updates
End Sub
_____________________________________________________________________
Sub Save_This ()
Day = DatePart("d", mydate)
Mon = DatePart("m", mydate)
Yr = DatePart("yyyy", mydate)
Path = ActiveWorkbook.Path
FileName = Path & "\My File " & Mon & "-" & Day & "-" & Yr & ".xls"
ActiveWorkbook.SaveAs (FileName)
End Sub
> hello,
>
> I would like to know how to save after than the macro is finished to
> run; for example I have this piece of code:
>
>
> ......
> dtmTime = Now + TimeValue("00:00:07")
> Application.OnTime dtmTime, "thisworkbook.operations"
>
>
> Application.DisplayAlerts = False
> ActiveWorkbook.SaveAs Filename:= _
> "C:\test.xls", FileFormat:=xlHtml, ReadOnlyRecommended:=False,
> CreateBackup:=False
> Application.DisplayAlerts = True
> 'and there how to determinate the exact time of the end of my macro; do
> you think I have the
> 'possibility to catch it with something else than now ().
> 'my macro is a little slow as need to do a lot of calculation
>
> dtmSave = dtmTime + TimeValue("00:01:00")
> Application.OnTime dtmSave, "Save_Exit"
>
> ina
>
>
|
|
|
|
 |
ina

|
Posted: Fri May 12 11:20:39 CDT 2006 |
Top |
Excel Programming >> execute macro; save it and close using Application.OnTime
Thank you very much for this help.
|
|
|
|
 |
|
|