Finally, i got the IRichEditOle interface implemented, so that you can use OLE objects (Not completely implemented and no good style, but hey, it works!) The other functions are from GaryFrost, grham, Kip, me and some functions from the forum (collected by Kip) I put the Functiosn descriptions on PASTEBIN, becuase it's too long to post. For proper freeing of memory when an error occurs in the OLE interface, you need MemoryDLL.au3. But if you don't include it, the UDF will work, too.