Using Visual Basic for Applications, C Sharp (programming language) or Java (programming language) SDK for ArcGIS it allows developers to extend these applications.