The Benefits of Office Programmability

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.

There are currently more than 2.5 million Office developers creating custom applications that use the applications or components in Microsoft® Office. The term "Office developer" includes developers who work exclusively in one or more of the Office applications. It also includes developers working in any language that can access the objects exposed by Office applications. For more than ten years, Microsoft has been making improvements to the Office suite that make it possible for developers to quickly and easily build and deploy custom desktop applications. These improvements are the reason why Office applications continue to play such an important role in custom application development:

  • **Users and businesses already use the Microsoft Office suite of applications.   **Most users already have Office on their desktop. The most recent surveys indicate that more than 40 million people regularly use Office to get their work done. Building applications based on the Office platform makes it possible for developers to target this large base of users. Also, even if you are not developing within the Office development environment, it is still a good idea to take advantage of the objects exposed by Office applications so that your custom applications can leverage existing, proven, and tested Office functionality.
  • **Office supports programmable objects and an integrated development environment.   **Each Office application exposes its functionality through programmable objects, and each also supports the ability to integrate with other applications by using Automation (formerly OLE Automation). Most applications share the same programming language (Visual Basic for Applications) and integrated development environment (the Visual Basic Editor). Applications created with VBA run in the same memory space as the host application and therefore execute faster. The programmable objects and powerful development tools in Office let developers build applications that tightly integrate applications and seamlessly share data and information. In addition, distribution of Office-based applications is simplified because VBA code and Microsoft® ActiveX® controls are part of the application document or project.
  • **Faster development cycles mean more affordable applications.   **The use of a single language and development environment also makes application development faster. What you learn while programming one application applies when working with another application. VBA code written for one application can often be reused in an application that works with a different application. Developers' skills become more valuable because they can work across many applications. Reducing the number of development environments or languages that developers must learn means that the time and cost of creating custom applications is reduced. Reliance on existing components eliminates the need to develop or test large portions of the application. This lets developers quickly build robust applications that previously might have been cost-prohibitive.
  • **Users become part of the application.   **Because applications are created and run in an environment familiar to the user, support costs are kept to an absolute minimum. Building an application based on Office technologies makes it possible for you define the application in a context with which your users are already familiar. This makes it possible for greater user participation in the application-design process and can dramatically reduce training and support costs. It takes less time and effort to customize applications your users already own than to build new applications from scratch. The more familiar users are with the application, the easier it is going to be for them to understand and use your application.

See Also

Developing Office Applications Using VBA | Office Objects and Object Models