Visual Basic Concepts
Extensibility is the capacity to extend or stretch the functionality of the development environment — to add something to it that didn't exist there before. Extensibility is not a new concept to development environments. Some language development packages give you the ability to add functionality to their user environments. However, the extent of control provided to you can be limited, or difficult to understand and implement.
Visual Basic provides you with a powerful, easy-to-understand modular system for customizing its environment through a programming interface known as the Extensibility object model. Its sole purpose is to allow you to "hook into" the workings of Visual Basic and create extensions known as add-ins.
The Visual Basic extensibility model consists of six related groups of individual code objects which control each major facet of the Visual Basic IDE. Each functional group enables you to create tools to customize the Visual Basic development environment and help you accomplish your programming tasks more quickly and easily. These groups are:
Each group consists of one or more collections and objects which together contribute to a particular purpose. For example, the primary function of the forms object group is to allow you to programmatically manipulate forms in your Visual Basic projects. One object in this group is the CommandBar object, which allows you to manipulate menus and toolbars. Another is the CodePane object, which allows you to display code contained in an object.
Other groups contain objects which allow you to manipulate and maintain the projects themselves, their source code, how they respond to events, and so forth.
What does all this mean to you? This means that you don't have to settle for the constraints of the programming environment or rely on third-party extensions that don't do exactly what you want them to do. You might, for example, create add-ins to:
These are just a few ideas. Add-ins give you the freedom to create custom programming solutions to save you time and help you become more productive. Just think of the possibilities!
For more information For information on different kinds of add-ins, see "What is an Add-In?" in this chapter.