Writing Great Add-Ins

Microsoft Excel allows you to fully customize, enhance, personalize, and extend almost every aspect of the application. Programming in the Visual Basic for Applications (VBA) macro language is usually the starting point for customization. But as this book will make clear, you can also extend Microsoft Excel by means of C code or other languages that support either OLE Automation or Windows Dynamic Link Libraries (DLLs). This chapter focuses on the VBA portions of your code, and provides the information needed to write high-quality add-ins.

When your development work is finished, you can create an add-in from your program, making it a seamless part of the Microsoft Excel interface. You can add custom functions, automate complex processes, and/or create complete programs that function entirely inside Microsoft Excel. If you desire, you can virtually take over the Microsoft Excel user interface with custom toolbars, menus, and on-sheet controls.

In reality, an add-in is a type of macro, similar to the concept of a square also being a rectangle. This chapter focuses on authoring great add-ins, but nearly all of the concepts presented here apply to any VBA application. The chapter also details the changes that have occurred since the previous version of Microsoft Excel.