Adobe® Digital Editions software.This eBook requires the free
Before downloading this DRM-encrypted PDF, be sure to:
Also available in other formats.
Register your product to gain access to bonus material or receive a coupon.
Finally, there's a book that treats Excel as the powerful development platform it really is, and covers every facet of developing commercial-quality Excel applications.
This is not a book for beginners. Writing for professional developers and true Excel experts, the authors share insider's knowledge they've acquired building Excel applications for many of the world's largest companies–including Microsoft. Professional Excel Development demonstrates how to get the utmost from Excel, addressing everything from application architectures through worksheet and userform design, charting, debugging, error handling and optimizing performance. Along the way, the authors offer best practices for every type of Excel development, from building add-ins through interacting with XML Web services. Coverage includes
About the Authors.
About This Book
The Excel Developer
Excel as an Application Development Platform
On the CD
Help and Support
2. Application Architectures.
3. Excel and VBA Development Best Practices.
Best Practices for Application Structure and Organization
General Application Development Best Practices
4. Worksheet Design.
Principles of Good Worksheet UI Design
Program Rows and Columns: The Fundamental UI Design Technique
User Interface Drawing Techniques
Using Controls on Worksheets
5. Function, General and Application-Specific Add-ins.
The Four Stages of an Application
Function Library Add-ins
6. Dictator Applications.
Structure of a Dictator Application
7. Using Class Modules to Create Objects.
Creating a Collection
8. Advanced Command Bar Handling.
Command Bar Design
Table-Driven Command Bars
Putting It All Together
Loading Custom Icons from Files
Hooking Command Bar Control Events
9. Understanding and Using Windows API Calls.
Working with the Screen
Working with Windows
Working with the Keyboard
Working with the File System and Network
10. Userform Design and Best Practices.
Userform Positioning and Sizing
What Is an Interface?
Defining a Custom Interface
Implementing a Custom Interface
Using a Custom Interface
A Plug-in Architecture
12. VBA Error Handling.
The Single Exit Point Principle
Simple Error Handling
Complex Project Error Handler Organization
The Central Error Handler
Error Handling in Classes and Userforms
Putting It All Together
13. Programming with Databases.
An Introduction to Databases
Designing the Data Access Tier
Data Access with SQL and ADO
14. Data Manipulation Techniques.
Excel’s Data Structures
Data Processing Features
15. Advanced Charting Techniques.
16. VBA Debugging.
Basic VBA Debugging Techniques
The Immediate Window (Ctrl+G)
The Call Stack (Ctrl+L)
The Watch Window
The Locals Window
The Object Browser (F2)
Creating and Running a Test Harness
Debugging Shortcut Keys that Every Developer Should Know
17. Optimizing VBA Performance.
The PerfMon Utility
18. Controlling Other Office Applications.
The Primary Office Application Object Models
19. XLLs and the C API.
Why Create an XLL-Based Worksheet Function
Creating an XLL Project in Visual Studio
The Structure of an XLL
The XLOPER and OPER Data Types
The Excel4 Function
Commonly Used C API Functions
XLOPERs and Memory Management
Registering and Unregistering Custom Worksheet Functions
Sample Application Function
Debugging the Worksheet Functions
20. Combining Excel and Visual Basic 6.
A Hello World ActiveX DLL
Why Use VB6 ActiveX DLLs in Excel VBA Projects
In-Process versus Out-of-Process
Automating Excel From a VB6 EXE
21. Writing Add-ins with Visual Basic 6.
A Hello World Add-in
The Add-in Designer
The AddinInstance Events
Command Bar Handling
Why Use a COM Add-in?
22. Using VB.NET and the Visual Studio Tools for Office.
How to Leverage the .NET Framework
Managed Excel Add-ins
Hybrid VBA/VSTO Solutions
The VSTO Security Model
The Big Issues
23. Excel, XML and Web Services.
24. Providing Help, Securing, Packaging and Distributing.