I've not tried this but perhaps you could
1. Create a weekly task for 8:00am
2. Create one time tasks for each hour until 5pm
3. Create an on success trigger event task to link the weekly and the one time tasks together.
A bit of a faff but all the other options don't quite do what you need unless you manually set them up and I'm guessing you want to set this and leave it to run.
Hope this helps
If it is a back-end script (i.e. a QVD generator) have you considered an if statement so that it only fetches data at the times you require?
e.g. IF (WeekDay(TODAY()) <> 'Sat' OR WeekDay(TODAY()) <> 'Sun') AND (Hour(NOW()) >= 8 AND Hour(NOW()) <= 17) THEN
Otherwise, Andy's solution is a workaround. Alternatively, although tedious, ten tasks one for each hour.