It can be done by getting VBA code within the Excel file to open a text
(.txt) file as a record each time the workbook is opened using the
'Application.UserName' command in the WorkBook_Open event. This will record
all users who open the file, not just the last twenty. To see who modified
it you would use the 'Before_Save' event to update the .txt file using the
same command.
However if the file is opened with macros disabled it won't work, you would
need to make the file useless unless it was opened with macros enabled and
all sheets, and the workbook password protected which is quite easy to do,
but XL protection is very weak and can be broken by anyone with a little
knowledge and the will to do so.
It works OK with ordinary users though, I use it all the time at work to
record who updated a Defect Analysis file and when, but its no use for
anything that needs to be completely secure
Regards,
Alan.