Thistlerose your Gran sounds very like my mum in her need to be in control. All my life I have shied away from confrontation because of the inevitable tantrums, tears and vicious comments. She expects to know everything that everyone does, but if we do tell her, she immediately sucks the joy out of anything by coming out with a negative comment.
Anyway, bit by bit I have regained control. We will never be close, and I know she believes this to be my fault, but I can live with that. She's 88 now, and I know she will never change, but visits to her are a duty, not made out of love. If this makes me a terrible daughter, so be it, but that's how it is, and I feel so much stronger for standing up to her more, and for telling her things she might not want to hear.
Your situation will not change until you make inroads on regaining control. Small steps will lead to bigger ones, and you will grow a thicker skin millimeter by millimeter. No-one has the right to bully you. Start by asking her to phone you before she comes - it won't be easy - then you can tell her you're busy. When she turns up - as she will - you have the perfect right to say you told her you were busy and haven't got the time to see her. Close. The. Door. (with a smile)
I wish you all the best, but for your sanity's sake, you must beat this. Let us know how it goes! 