I would like to call a VBA code simply based on the event of selecting an email in Outlook. For example, the macro might copy the receipt date of the selected email to the clipboard. This is as opposed to selecting the email and then separately calling the VBA code through a keyboard shortcut for example. In other words, I would like the VBA code to run every time an email is selected.
You need to handle the SelectionChange event of the Explorer class which is fired when the user selects a different or additional Microsoft Outlook item programmatically or by interacting with the user interface. This event also occurs when the user (either programmatically or via the user interface) clicks or switches to a different folder that contains items, because Outlook automatically selects the first item in that folder.
The Read event is fired when an instance of the parent object is opened for editing by the user. It is not what the asker is looking for. Moreover, it will be very inconvinient to subcribe to each Outlook item separately.