Re the charity chocolates etc at work... what I do is make sure that I don't have any change in my purse at all. We have a vending machine here that only accepts $2 coins. So, I make sure that there are no $2 coins in my purse, that way I can't buy any chocolate even if I wanted it!
Maybe try keeping all your coins in your car, or in a jar at home. Then it is not possible to buy the chocolates
Another idea, which may not be to everyone's taste... I buy a lot of Aussie Bodies HPLC Bars, cut them up into 4 pieces (the bars are 100g, so I get 4 x 25g pieces) and take a piece to work for morning tea each day. They are extremely sweet and chocolatey, but the carb/sugar content is only 6% (6g carb per 100g bar). And they're 45% protein too... yum
I agree with Dolly about the self-hypnosis, and the Jarrah, also works really well...