For a DLL to be able to access the functionality in Excel and get
or set workspace information, it must first obtain the addresses of the Excel
callback functions Excel4, Excel4v, Excel12, and Excel12v. The last two were
introduced in Excel 2007 and are available in subsequent versions. To access
all of these, the DLL project must include references to the following files
from the Excel 2013 XLL SDK. If you want to access only the first two callbacks
(in any version of Excel), your project needs to include only the first two files.
Xlcall.h
The Xlcall.h file contains the following items:
Xlcall32.lib
The Xlcall32.lib library exports the first two callbacks, Excel4 and Excel4v, and also the XlCallVer function. Without a reference to this library in your project, the linker cannot create the XLL if you have used any of these callbacks in your code. (You can obtain the addresses of these functions by linking dynamically to the equivalent Xlcall32.dll that is copied to your system as part of a normal Excel installation.)
Xlcall.cpp
The Excel callbacks Excel12 and Excel12v are not exported in Xlcall32.lib. This ensures that XLL projects that you create starting in Excel 2007 will also work with earlier versions of Excel. The Xlcall.cpp module contains code for the Excel12 and Excel12v functions, which call into an Excel entry point starting in Excel 2007, or return a safe error value if you are running an earlier version of Excel. You should include this module in your project if you want to create an XLL that runs starting in Excel 2007 and that is able to use the new data types that handle larger grids and longer Unicode strings.
Xlcall.h
The Xlcall.h file contains the following items:
- Function prototypes for all callback functions.
- Definitions of the data structures that the callbacks use to exchange data between the DLL/XLL and Excel, and data-type constant definitions.
- Definitions of the C API function and command equivalents of the worksheet, macro sheet functions, and supported Excel commands.
- Definitions of callback function return values.
Xlcall32.lib
The Xlcall32.lib library exports the first two callbacks, Excel4 and Excel4v, and also the XlCallVer function. Without a reference to this library in your project, the linker cannot create the XLL if you have used any of these callbacks in your code. (You can obtain the addresses of these functions by linking dynamically to the equivalent Xlcall32.dll that is copied to your system as part of a normal Excel installation.)
Xlcall.cpp
The Excel callbacks Excel12 and Excel12v are not exported in Xlcall32.lib. This ensures that XLL projects that you create starting in Excel 2007 will also work with earlier versions of Excel. The Xlcall.cpp module contains code for the Excel12 and Excel12v functions, which call into an Excel entry point starting in Excel 2007, or return a safe error value if you are running an earlier version of Excel. You should include this module in your project if you want to create an XLL that runs starting in Excel 2007 and that is able to use the new data types that handle larger grids and longer Unicode strings.