Professional Excel Development: The Definitive Guide to Developing Applications Using Microsoft(R) Excel and VBA(R)
|
| List Price: | $64.99 |
| Price: | $43.86 & eligible for FREE Super Saver Shipping on orders over $25. Details |
Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com
51 new or used available from $17.82
Average customer review:Product Description
Microsoft Excel can be much more than just a spreadsheet. It has become adevelopment platform in it own right. Applications written using Excel are partof many corporations' core suites of business-critical applications. In spite ofthis, Excel is too often thought of as a hobbyist's platform. While there arenumerous titles on Excel and VBA, until now there have been none thatprovide an overall explanation of how to develop professional-quality Excel-basedapplications. All three authors are professional Excel developers who runtheir own companies developing Excel-based apps for clients ranging fromindividuals to the largest multinational corporations. In this book they showhow anyone from power users to professional developers can increase thespeed and usefulness of their Excel-based apps.
Product Details
- Amazon Sales Rank: #431116 in Books
- Published on: 2005-02-11
- Format: Illustrated
- Original language: English
- Number of items: 1
- Binding: Paperback
- 936 pages
Editorial Reviews
From the Back Cover
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
Building add-ins to provide new Excel functions
Designing effective worksheets, userforms and other user interface elements
Leveraging Excel's powerful data analysis features
Creating sophisticated custom charts
Handling errors, debugging applications and optimizing performance
Using class modules and interfaces to create custom objects
Understanding Windows API calls: when to use them, and how to modify them
Adding worksheet functions with
C-based XLLs
Programming with databases
Controlling external applications from Excel
Integrating with Visual Basic 6, VB.NET and Visual Studio Tools for Office
Using XML to import and export data and communicate with Web services
Providing help, securing, packaging and distributing
The accompanying CD-ROM contains the book's sample timesheet application at every stage of construction, with detailed code comments. It also includes many examples of the concepts introduced in each chapter and a collection of the authors' Excel development utilities.
© Copyright Pearson Education. All rights reserved.
About the Author
Stephen Bullen is founder of Office Automation Ltd., a specialist in Excel, Access and Visual Basic development that serves many of the world's largest businesses. Rob Bovey is president of Application Professionals, a software developer specializing in Microsoft Office, Visual Basic and SQL Server applications. He has developed several add-ins shipped by Microsoft with Excel. John Green is founder of Execuplan Consulting, a specialist in Excel and Access business application development. The authors have each held Microsoft's coveted Excel MVP status for eight consecutive years, and are coauthors of Excel 2000/Excel 2002 VBA Programmer's Reference (Wrox Press).
© Copyright Pearson Education. All rights reserved.
Excerpt. © Reprinted by permission. All rights reserved.
Chapter 1: Introduction
About This Book
Microsoft Excel is much, much more than just a spreadsheet. Since the introduction of the Visual Basic Editor in Excel 97 and the improved stability of Excel 2000, it has become a respected development platform in its own right. Applications written using Excel are now often found alongside those written using Visual Basic, C++, Java, .NET, etc, as part of many corporations' core suite of business-critical applications. Indeed, Excel is often used for the client end of web-based applications, made particularly easy with Excel 2003's XML import/export features.
Unfortunately, Excel is still all too often thought of as a hobbyist platform; that people develop spreadsheet-based applications in their spare time to help out with their day job. A brief look at the shelves of any bookstore seems to confirm that opinion. While there are myriad titles explaining how to use Excel and numerous titles about Excel and VBA, there are none that provide an overall explanation of how to develop professional-quality Excel-based applications. This is that book.
While all the other major languages seem to have a de-facto standard text that explains the commonly-agreed best practices for architecting, designing and developing applications in that language, Excel does not. This book aims to fill that gap.
All three authors are professional Excel developers who run our own companies developing Excel-based applications for clients ranging from individuals to the largest multinational corporations. This book details the approaches we use when designing, developing, distributing and supporting the applications we write for our clients.
This is not a beginner-level book. We assume that the reader will have read and (mostly) understood our Excel 2000/2002 VBA Programmer's Reference, John Walkenbach's Excel N Power Programming or similar titles.
The Excel Developer
Excel developers can be divided into five general categories, based on their experience and knowledge of Excel and VBA. To varying degrees, this book has something to offer each of them, but with a focus on the more advanced topics. Putting yourself into one of these categories might help you decide whether this is the right book for you.
The basic Excel User probably doesn't think of themselves as a developer at all. To them, Excel is no more than a tool to help them get on with their job. They start off using Excel worksheets as a handy place to store lists or perform simple repetitive calculations. As they discover more of Excel's functionality, their workbooks become more complex and start to include lots of worksheet functions, pivot tables and charts. There is little in this book for these people, though Chapter 4 – Worksheet Design details the best practices to use when designing and laying out a worksheet for data entry, Chapter 14 – Data Manipulation Techniques explains how to structure a worksheet and which functions and features to use to manipulate their lists and Chapter 15 - Advanced Charting Techniques explains how to get the most from Excel's chart engine. Using the techniques suggested in these chapters should help the basic Excel user avoid some of the pitfalls often encountered as their experience and the complexity of their spreadsheets increases.
The Excel Power User has a wide understanding of Excel's functionality, knows which tool or function is best to use in a given situation, creates complex spreadsheets for their own use and is often called on to help develop their colleagues' spreadsheets or to identify why their colleagues' spreadsheets don't work as intended. Occasionally the Power Users includes small snippets of VBA they found on the internet or created using the macro recorder, but struggles to adapt the code to their needs. As a result, they produce code that is untidy, slow and hard to maintain. While this book is not a VBA tutorial, the Power User has much to gain from following the best practices we suggest for both worksheets and code modules. Most of the chapters in the book will be relevant to the Power User who has an interest in improving their Excel and VBA development skills.
The VBA Developer makes extensive use of VBA code in their workbooks – often too much. They are typically either Power Users who have started to learn VBA too early or Visual Basic 6 developers that have switched to Excel VBA development. While they may be very proficient at VBA, they believe every problem must have a VBA solution and lack sufficient knowledge of Excel to make the best use of its features. Their solutions are often cumbersome, slow and make poor use of Excel's object model. This book has much to offer the VBA Developer to improve their use of Excel itself, including explaining how to architect Excel-based applications, the best practices for designing worksheets and how to use Excel's features for their data entry, analysis and presentation. The book also seeks to improve their Excel VBA development skills by introducing advanced coding techniques, detailing VBA best practices and explaining how to improve their code's performance.
The Excel Developer has realized the most efficient and maintainable applications are those which make the most of Excel's own functionality, augmented by VBA when appropriate. They are confident developing Excel-based applications for their colleagues to use or as part of an in-house development team. While their undoubted knowledge of Excel is put to good use in their applications, it also constrains their designs and they are reluctant to use other languages and applications to augment their Excel solutions. They have probably read John Walkenbach's Excel 97/2000/2002/2003 Power Programming and/or our own Excel 2000/2002 VBA Programmer's Reference and need a book to take them to the highest level of Excel application development – that of the professional developer. This is that book.
The Professional Excel Developer designs and develops Excel-based applications and utilities for their clients or employer that are robust, fast, easy to use, maintainable and secure. While Excel forms the core of their solutions, they include any other applications and languages that are appropriate, such as third-party ActiveX controls, automating other applications, using Windows API calls, using ADO to connect to external databases, C/C++ for fast custom worksheet functions, VB6 or VB.Net for creating their own object models and securing their code and XML for sharing data over the internet. This book teaches all those skills. If you are already a Professional Excel Developer, you will know learning never stops and will appreciate the knowledge and best practices presented in this book by three of your peers.
Excel as an Application Development Platform
If we look at Excel as a development platform and not just a spreadsheet, we can break it down into five fundamental components we can use for our applications:
The worksheet, charts etc, used as a user interface and presentation layer for data entry and reporting
The worksheet, used as a simple data store for lists, tables and other information used by our application
VBA, Excel's programming language and forms engine
The worksheet, used as a declarative programming language for high-performance numerical processing
The Excel object model, allowing programmatic control of (nearly) all of Excel's functionality, from both within Excel and from outside it.
The Worksheet as a Presentation Layer for Data Entry and Reporting
When most people think about Excel, they think in terms of typing numbers into cells, having some calculations update and seeing a result displayed in a different cell or on a chart. Without necessarily thinking in such terms, they are using the worksheet as a user interface for their data entry and reporting and are generally comfortable with these tasks. The in-cell editing, ...
Customer Reviews
A remarkable book on creating complete Excel-based apps
Over the years, I've read a number of books on Excel programming. Each one seemed much like the previous one, generally talking about writing macros and creating data-entry forms. Professional Excel Development takes the concept quite a bit farther. Rather than giving you the same old tired lessons, this book goes into detail on exactly how to build professional level applications. It even explains how to make your Excel-based application look as though Excel had nothing to do with it. Suffice it to say, this ain't your daddy's Excel book.
The authors, Stephen Bullen, Rob Bovey, and John Green, show a level of sophistication well beyond the norm. They'd rather teach you the proper way to program instead of teaching you how to use Excel. In fact, the first thing they do is distinguish five different levels of usage: Excel users, Excel power users, VBA developers, Excel developers, and professional Excel developers. The book is written for the highest level, so expect a lot of depth. The entire structure of the book builds around a time-entry application that is developed from a simple spreadsheet to a full-blown, production quality program. A CD-ROM is also included with all of the source code and multiple examples that are scattered throughout the book.
Reading Professional Excel Development is not something to be taken lightly. The authors have done a fine job putting together a cohesive methodology for using Excel as an application development platform. I know of no other book that covers this platform in such depth. At times I found myself lost in the details, but I suspect a "professional Excel developer" (which I am not) would be delighted in the depth of description and copious examples provided.
Professional Excel Development is an extremely well-written book that covers the use of Excel to a depth few authors have dared to tread. The text gives you the tools to build applications that are much more than automated spreadsheets. Almost any program your imagination can devise can be created using the techniques given, which is a testimony to the power of Excel. Bash Microsoft if you want, but they do sometimes come up with a winner, and Professional Excel Development allows you to take full advantage of its capabilities. I highly recommend this book.
Wisdom Packed into Every Page! Brilliantly Written
Even if this book was not as well-written and insightful as it is, there is simply no other VBA book that comes close, in content and quality, on building professional-grade Excel applications. If that is your field, you have a lot to lose by not getting it. (I've stalked several large bookstores here in New York City and Amazon, of course.)
THE BOOK:
This book is a goldmine of application-design wisdom for developers seeking to write professional, VBA applications that stand the test of time. Even for none-professionals, like myself, the book contains a plethora of VBA "best practices" that can be put to immediate use. The authors are clearly sharing with you years of personal, professional experience, and top-notch acumen.
Because I am not the most attentive reader, the first thing I find myself looking at is how well-written a book is (a quality which makes me a Walkenbach fan). I am impressed by how "thorough", "well put", and "to the point" most sentences in this book are - from the first to last word!
A FEW HIGHLIGHTS FOR ME:
> Imagine building almost bullet-proof applications. The user never sees an ugly VBA error message, and, if an error occurs, the developer usually knows very quickly what the cause is. I do this now...courtesy of the book's excellent chapter 12 on Error Handling and a thorough chapter on Debugging (Chapter 16).
> Chapter 17 - Optimizing VBA Performance (and a little digression on creative thinking) is a must read. This alone is worth the book price!
> Imagine a progress-bar display that you can easily "plug in" to any VBA program you write. Now you can...this book shows you how, in Chapter 11.
> Do you understand how to use API functions, and which ones are most useful for Excel. Read Chapter 9. I first found this chapter online (informit.com), which led me to this book, in the first place. Knowing API, will allow you to tap into the entire windows operating system from VBA.
> Do you really understand classes...do you understand Interfaces and how you can put them to use in VBA?
Chapter 7 on Classes is worth a solid read. (Even if you've read chapter 5 & 6, in Ken Getz's VBA Developer's handbook). Chapter 11, demonstrates the usefulness of Interfaces, with two great examples (Sorting and Progress-Display).
> What if you wish to write code in .Net, C, (or VB6) yet still work with EXCEL or connect with your VBA code? This book shines on this topic with three chapters (20 - 22). I have not yet seen a discussion as thorough in another VBA book. (If I've missed one, please add me to your Amazon buddy list and email me. Thanks.)
> If you are not a database expert but want a good overview of using Excel to work with Databases, I suggest your read Chapter 13.
> How do "you" currently go about building your Application's Menubars and ToolBars? Most books recommend a table-driven system of some sort or another, which is what I was using, and, indeed, this book does, too...but wait until you see the authors' version in Chapter 8. In fact, I made the painful decision to give up my habit of doing things after spending time with this chapter, and the authors' wisdom is paying off!
As a reviewer from California put it, "Finally, The sequel to Walkenbach for developers is here!", and another from New Delhi, "Every line that I have read so far has a meaning. The book is written in a simple fluent language and brings out the point very clearly. It will take me to the next level of programming."
I could not agree more!
ACCESSORIES:
As you would expect, all code examples for the book (and more) are found on an accompanying CD. The excellent commenting of code, aids learning.
I do have one peeve: The book is not available in searchable PDF format. To be fair to the authors...if they did...your grandmother would probably have it by now ;-) (For a fee you can download chapters in html from http://safari.oreilly.com/)
I also use two, must-have, VBA Add-Ins produced by Stephen Bullen and Rob Bovey respectively, free of charge from their respective websites.
Stephen Bullen's Auto-Indenter: with a simple "right click", your VBA code is automatically indented at all the right places (with options to suit your personal preferences). Think of how much time you spend tabbing and moving lines about!
Rob Bovey's code-cleaner: which cleans up your VBA file and shrinks its size significantly. (It also gets rid of a mysterious VBA error, the name of which escapes me now).
Finally! The sequel to Walkenbach for developers is here!
If you cherished the Walkenbach's book for years and were longing for the advanced part to follow some day, you are there. So what if it is by different author.
Once I got the book and browsed through for couple of hours I already was eager to share my excitement. But... decided to do some more reading to make sure that the quality holds throughout the book. And I am still impressed immensely. This is an outstanding book
Buy the book even just for Chapter 20. Combining Excel and Visual Basic 6.
The rumors about the death of VB6 are highly exaggerated. Even if you believe otherwise, the techniques described for using VB forms in VBA will give you a good grasp how to achieve the same thing with other languages.
Basically, if you are a developer and were looking for a book to let you outgrow the limitations of VBA, this is THE BOOK.
If you are a power user and would like to stay in confines of Excel and VBA, then most probably Walkenbach's book will be sufficient, although reading this book will give you an incentive to do more.





