A long time ago, it became fashionable, even recommended, to disable menu items when they could not be used.
Don't do this. Users see the disabled menu item that they want to click on, and are left entirely without a clue of what they are supposed to do to get the menu item to work.
Instead, leave the menu item enabled. If there's some reason you can't complete the action, the menu item can display a message telling the user why.
You’re reading Joel on Software, stuffed with years and years of completely raving mad articles about software development, managing software teams, designing user interfaces, running successful software companies, and rubber duckies.