Set doc = New NotesDocument( db )
Wenn Du das bestehende Dokument ändern willst, warum erstellst Du dann ein neues ?
Mit set doc = uidoc.Document kommst Du an das aktuelle Dokument.
Object variable not set
Ist klar, Du hast ja auch kein Objekt vom Typ NotesRichTextItem, da es das Item "Body" im vorher neu erzeugten Dokumente nicht gibt.
Beim Hantieren mit RichText solltest Du auch beachten, daß Du bei einer Änderung im Backend (NotesDocument) diese Änderung nicht direkt im Frontend (NotesUIDocument) siehst, sondern das UI-Dokument am besten schließst und neu öffnest. Such dazu mal hier im Forum nach "ReOpen".