I too (as many have!) have had this major problem.  My husband was ready
to throw Grover out when she tore up a small portion of _brand new_ carpet
trying to get into the bedroom.  Our solution (since I don't think there's
any way short of declawing them to make them stop) was to place a thin
board (cardboard, matboard, or thin plywood) under the door (thin enough
that you can still open the door).  Cut it to the shape of the door frame
so that it can't be pushed out of the way (sorry, I tried to draw it, but
it wouldn't come out right).  It's the only thing we've found to work.
 
 
Pamela and Jay Barber and Ernie, Grover, and Elmo
Flagstaff, AZ
[Posted in FML issue 1082]