Changes the contents of a value list at run-time
This project demonstrates how to change the contents of a value list at run-time or at load-time. It contains a single worksheet function and two macro functions.
The worksheet function, MyFunction
is an empty function
that uses a value list. The value list is set to be exclusive and to be
displayed in the Excel Formula Wizard.
The two macros, UseValueList1
and UseValueList2
,
each load a different value list, calling the function LoadValueList
.
LoadValueList
contains the interesting code:
it loads a set of values, updates the extended user interface by using
CXlWizExUIFunctionDescriptor::AddList,
and also updates the value list constraint by using
CXlValueListConstraint<long>::SetValues.
Note that the initialization of the value list occurs very late in the loading process, during an override of CXllApp::AfterXllOpen.
CXlWizExUIListProvider::CXlWizExUIListProvider | CXlWizExUIListProvider::Add | CXlWizExUIFunctionRegistry::GetInstance | CXlWizExUIFunctionRegistry::FindAddFunctionDescriptor | CXlWizExUIFunctionDescriptor::AddList | CXlValueListConstraint<INT_T>::SetValues
Each sample project is located in a sub-directory of the Samples directory of the XLL+ installation. To use the sample project, open the solution file ExUIDynList.sln or the project file ExUIDynList.vcproj.
You can enable debugging under Excel by using the Setup Debugging command in the XLL+ ToolWindow.
When delivered, the help files are excluded from the build.
You can enable the help build by selecting the files
ExUIDynList.help.xml
and
ExUIDynList.chm
in the Solution Explorer,
and using the right-click menu to view Properties.
Select the page "Configuration Properties/General" and
set the "Excluded from build" property to "No".
See Generating help
in the User Guide for more information.