This question already has an answer here:
In actions that involve another person, we can structure sentences like the following examples:
I drove him home.
I cooked him a meal.
I gave him a spoon.
I threw him the ball.
I'm not sure of the name of this grammar pattern, but the use of the pronoun "him" is simply a shortening of "for him" or "to him" or "at him", depending.
Is there a reason why we can't (or at least, don't) say:
I opened/closed him the door.
to mean "I opened/closed the door for him"? Is there a grammar rule, or is it just not idiomatic?