These new modules are created to implement new functionality as opposed to changing existing functionality. The second method of customization is with event handling and this method allows you to override existing functionality. Component operations can raise events that can be trapped and reacted to within VBA scripts. Event processing in this context is synchronous. What that means is when a component raises an event, the execution of the operation in the component is blocked until the handling of the event by the outside world is completed.
Events become part of the interface definition and are shown in the object model.
Usually, an event signifies that something has occurred. In our context, it is more of a request for someone to do something if they wish. Figure 6 ICustomer interface with an Event Data cannot be returned to the event raiser, however parameters passed by reference can be changed and this gives us a form of communication between the event raiser and the script. It is an interesting notion that a component can have a discussion with some other unknown process during the execution of one of its operations. An example that shows a VBA script with event handling is below.