I use xl2002 and it won't record the macro when I protect a worksheet or the
workbook.
Interestingly, it will record the password when I allow users to edit ranges on
a protected sheet.
But you'll have to modify the code:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
would become:
ActiveSheet.Protect password:="topsecret", _
DrawingObjects:=True, Contents:=True, Scenarios:=True