I do not understand the problem with involving the operating system.
The idea is that the task scheduler simply opens the workbook at the
appropriate time. The workbook contains the VBA code you want to run,
and you can use the Workbook_Open() event (see
http://www.ozgrid.com/VBA/auto-run-macros.htm)
to make the code run automatically. If you like
If, for some reason, you cannot do this, the Excel workbook containing
the VBA code msut be open when it needs to run. Are you assuming
that?
If so, you can use the Now() function to get the current time and
loop until you reach or pass the trigger time. If you have not
passed the trigger time, you can use Sleep() (see
http://www.your-save-time-and-improv...eep-excel.html)
to wait for a while to check again.
If other VBA code will be running, you may need to insert "DoEvents"
in the loop.
Alan