Historically, a typical Excel-based application was almost entirely contained within Excel itself; the only external interaction would be with the user, from whom we obtained data and to whom we presented our results. If we needed to store data, we'd use separate workbooks and try to mimic a relational database as best we could.
As data access technologies developed from ODBC drivers, through DAO, to the current versions of ADO (documented in Chapter 11), it became more common place to store data in external databases and even retrieve data from (and update data in) other systems across the network. It is now quite common to see Excel used as a front-end querying and analysis tool for large corporate databases, using QueryTables and PivotTables to retrieve the data. The data available to our Excel applications was, however, limited to that available across the company network, and to those databases that we could get permission to access.
Starting with the release of Office 97, Microsoft has slowly extended Excel's reach to include the Internet and associated technologies, either by adding native functionality directly into Excel (such as Web queries), or by ensuring that Excel developers can easily use standard external objects (such as the Internet Transfer Control, the Web browser control, and the MSXML parser), and including those objects within the Office installation.
In Excel 2002, we have sufficient functionality to consider rethinking our approach ...