The question is: what does "actively working" mean? That the user is actually hitting the keyboard? If so, how long between keystrokes or cell updates before they're deemed to be inactive?
Or is it when they have a workbook open but they're not necessarily typing?
Or when they have Excel running but possibly no workbooks open?
In any case I think you're going to be reliant on VBA and as we know, it can be difficult to force people to enable macros, and the whole system would fall apart if they decide to create a new workbook as that wouldn't have any macros in it.
One possibility which springs to mind would be to use the Windows Task Scheduler to open a workbook in the background (i.e. invisibly) containing a logging macro, but the best this could do, I think, would be to detect whether Excel was running on the same machine and not whether anyone was actively using it.
Another method might be if they had (for example) Outlook open all day, you could have a macro running as soon as Outlook was opened which monitored whether Excel was active, but it wouldn't know whether anyone was actually using it.
At the end of the day, you'd still always be dependent on VBA, I think.