Duh,
I did this a few years ago. Doubt I still have it although it's possible but I will rework it if needed. I think I referenced the Outlook library for the emailing part, used err.Source for the file name, set a string to the sub name at the beginning of the sub, and I think I just had the error, not the line it occurred on. Not sure how to get that but will look into it when I have some time.