The subroutine should read
...
.Caption = "Insert C Comment"
.OnAction = "AddComment2"
that is, with "." before Caption & OnAction. (My actual subroutine has it correct.)
(Is there a way for the original poster to edit his post, rather than have to "reply" to it as I've done?) [Note added later: I see I'm able to edit this reply, but not my original post. Don't understand why.]