Extending an expiration date

Can an expiration date be extended simply by generating a new key for the workbook, or does the sheet need to be recompiled?

No need to recompile, you just generate a new key with an extended expiration date.

Where would the user enter the new key, unless he’s being prompted each time? Thx

He will be prompted to enter the new key when the previous one has expired.