VBA

Introduction - What is Visual Basic for Applications?

Off-the-shelf (or commercial) applications deliver rich functionality and features for end-user and business document creation. Nevertheless, given the complexities and demands of end users and businesses today, it is a challenge for off-the-shelf applications to deliver 100 percent of the user requirements. This often results in businesses needing to build functionality from scratch, incurring long development cycles and high costs. Applications that host the Microsoft® Visual Basic® programming system, Applications Edition (VBA) version 5.0 can be customized to meet user requirements and integrated with other VBA-enabled applications on the desktop. Visual Basic for Applications is the edition of Visual Basic designed specifically to provide rich development capabilities inside an off-the-shelf application. Visual Basic for Applications provides all the development tools required to build solutions that incorporate application customization to solution integration. The VBA development environment, embedded directly into the host application, is immediately accessible to the more than 3 million developers using Visual Basic today. These developers can take advantage of their training in and knowledge of Visual Basic to fully customize, extend and integrate applications with Visual Basic for Applications.

Solutions created with Visual Basic for Applications execute faster since they run in the same memory space as the host application and are tightly integrated with the application. This allows developers to write code that responds to user actions, such as when a user opens, closes, saves and modifies documents or projects. Finally, distribution of VBA-based solutions are simplified since the code resides with the application document or project.

History of Visual Basic for Applications

Visual Basic for Applications was first released in Microsoft Excel in 1993. Since then, Microsoft Corp. has received requests from hundreds of ISVs seeking to license it for use in their applications. Broadly licensing VBA has always been part of MicrosoftÆs vision for the programming system, and with the release of the third generation of Visual Basic for Applications 5.0, this vision can become a reality.

Visual Basic for Applications not only delivers an ISV-ready release in terms of interfaces and robustness, but also delivers on important, ISV-requested features. First, VBA 5.0 now provides a complete, integrated development environment (IDE) that includes many of the elements familiar to developers using Visual Basic, including a Project Window, a Properties Window and debugging tools. Second, Visual Basic for Applications 5.0 puts the "visual" back into Visual Basic; specifically, support for Microsoft Forms and ActiveX™ Controls (formerly OLE Controls). VBA 5.0 delivers rich, visual features with Microsoft Forms and support for more than 2,000 commercially available ActiveX Controls. In addition to the new IDE and support for Microsoft Forms and ActiveX, hundreds of new features advance the productivity and ease of use of Visual Basic for Applications to new levels, making version 5.0 the bar to measure other application development environments against.

Visual Basic for Applications 5.0 is the core component of Microsoft Office 97 (itÆs now in Microsoft Word and the Microsoft PowerPoint® presentation graphics program, in addition to Microsoft Excel and Microsoft Access, and is scheduled to be included in the next version of Microsoft Project). Through the announced licensing policy, Microsoft is making the exact version of Visual Basic for Applications in Microsoft Office broadly available for use in non-Microsoft applications, providing the same ease of use and power of Visual Basic to a broad range of new host environments.

Licensing of Visual Basic for Applications

Microsoft announced in June 1996 that it would license Visual Basic for Applications 5.0 through two channel partners ù Summit Software of Syracuse, N.Y. and Mystic River Software of Cambridge, Mass. Both Mystic River Software and Summit Software have extensive experience helping companies integrate scripting tools to their applications. Since the announcement last year, the response from the ISV community has been overwhelmingly positive, with hundreds of vendors expressing interest in Visual Basic for Applications 5.0 for their products. Currently, more than 100 companies have signed letters of intent to license the technology.

The increasing number of VBA-enabled applications provides opportunities for increased application customization and integration by developers, allowing developers to leverage their investments in training and knowledge of Visual Basic. Ultimately, these developer benefits extend to the organizations and end users who select VBA-enabled applications over "build from scratch" solutions. Additional benefits are outlined here.

Benefits to ISVs

  • ISVs can immediately gain the 3 million developers using the Visual Basic programming system as potential customers.

  • Because Visual Basic for Applications is an award-winning development environment, it helps give host applications a competitive edge in product comparisons.

  • Developers build solutions on top of ISV products, leading to increased sales of ISV products.

  • Visual Basic for Applications delivers the competitive advantage for ISVs seeking to provide full customization and integration capabilities to customers.

  • ISVs can leverage the large infrastructure already in place for Visual Basic:

  • Training facilities

  • Support centers

  • Books and magazines

  • Seminars

  • Events

  • Trade shows

  • Thousands of ActiveX Controls

  • Web sites

In addition, hosting Visual Basic for Applications 5.0 allows ISVs to concentrate on their core competency, not language development. A large marketing campaign around VBA will have a direct positive impact on their bottom line, and the increased functionality will help provide competitive advantage in product comparisons.

Benefits to Developers

  • Each VBA-hosted application will expose an object model expanding the ActiveX-based component set available for developers to leverage.

  • Developer skills become more marketable because they can work across many applications.

  • There is an immediate code reuse advantage ù the same Visual Basic is used everywhere.

  • Visual Basic for Applications enables full customization of applications to provide solutions tailored to customersÆ needs.

  • With the increasing availability of VBA-enabled applications, developers can now integrate these applications to share data and information more easily and seamlessly.

  • Perhaps most dramatically, Visual Basic for Applications 5.0 enables developers to build solutions that previously were cost-prohibitive, because functionality is now available through the integration of different applications or from different vendors.

Benefits to MIS Managers

  • Developer knowledge can be used across a broad range of applications.

  • MIS managers can choose to buy instead of build, while enabling application customization to meet specific business requirements.

  • MIS managers will be less dependent on developers for application-specific solutions.

  • The backlog of end-user application demands will be reduced through code reuse, resulting in a faster response.

  • Developers can be moved across development projects easily.

Visual Basic for Applications 5.0 will also play a large role in helping MIS managers and their companies lower training costs by reducing the number of development environments or languages they need to train developers on.

Benefits to Users of Application-Based Solutions

  • The applications perform at a high level.

  • Solutions look and work like the applications they already know.

  • Solutions can be user-customized, with respect to print options or query creation, for example.

  • There is greater participation in the solution design process ù users can create the output, reports and documents that they want automatically generated.

Overall, users will benefit the most from improved solution quality and customized functionality as the applications they use today incorporate richer functionality and integration and are tailored to meet their needs.

To find out more on these technologies, please visit http://msdn.microsoft.com/vba/ .  

© 1999 Microsoft Corporation. All rights reserved. Terms of Use.