Another option is to simply use an auto-enter calculation to delete the additional characters instead of showing a validation message.
In theory, you could use OnObjectKeystroke to refuse all keystrokes except those for the delete or that exit the field once the length of the data reaches a specified max length. In such a script, you can end execution with Exit Script [False] to ignore a keystroke.
Thank you for your response. THis question has been asked before and I saw a previously suggested script of yours, as below. This works absolutely fine.
It has limitations. Once 10 characters have been entered, any "edit" keystroke other than the backspace (8) won't work.