Item | Change | Description |
F00029 | FIX
- CXlRef::Width() | CXlRef::Width() returned a BYTE
and therefore failed when a range contained 256 columns.
It now returns a WORD.
|
F00030 | FIX
- CXlArray::GetWidth() + CXlArray::GetHeight() | These methods returned WORD.
They now return USHORT, in line with COper and CXlOper.
|
E00035 | ENH
- New method CXlArray::GetDims() | This method was added
to bring CXlArray in line with COper and CXlOper.
|
E00036 | ENH
- Technical Notes | A new topic,
"Comparison of COper, CXlOper and CXlArray" has been added to the Technical Notes.
|
E00037 | ENH
- AppWizard | The AppWizard now opens
the project's main C++ source file after it has finished creating the project.
|
F00031 | FIX
- Function Wizard changes selection after saving | If a function was saved using the save button,
the wizard would change its selection to the function selected when the
wizard first opened.
This behavior has been fixed.
|
F00032 | FIX
- Function Wizard does not display saved changes | If a function was saved by the save button,
or before changing the selected function,
the wizard would not display the updates but would instead display the
version originally loaded.
This behavior has been fixed.
|
F00033 | FIX
- Various typos in Reference Guide and Function Wizard help |
|
F00034 | FIX
- Function Wizard displays error when adding column group | If a new function was created,
and the first argument to be added to it was a group,
the Wizard displayed an error message.
This behavior has been fixed.
|
F00035 | FIX
- Function Wizard pops up argument editor when changing argument type | If an argument's type was changed to a group in the Arguments grid
of the Function Wizard, the argument editor popped up.
This behavior has been removed.
|
F00036 | FIX
- Generated functions did not include CXlArray instantiation | The Function Wizard did not generate code to instantiate a CXlArray object
from a LPXLARRAY type input.
This has been fixed.
|
F00037 | FIX
- Arrays of strings were wrongly declared | The Function Wizard did not generate code to correctly instantiate an array of strings,
creating a collection of pointers instead of a collection of strings.
e.g. vector<const char*>, which should be vector<CString>.
This has been fixed.
|
E00038 | ENH
- New demo project ArgSize | A new demo project, ArgSize, has been added.
This, along with the test spreadsheet ArgSize.xls,
demonstrates argument size limits.
|
Item | Change | Description |
F00042 | FIX
- Empty example links | Empty example links were replaced in Reference Guide.
|
E00042 | ENH
- XllPush library added | The XLLPUSH library, supporting asynchronous functions,
was added. New files: XllPush.lib, XlpPush.h, XllPushApp.h, XlpMtMsg.h, XlpAsync.dll.
|
E00043 | ENH
- Asynchronous demos added | Three new sample libraries were added, to demonstrate
various uses of the XllPush library: MtBackground, MtCalc and MtFeed.
|
E00044 | ENH
- AppWizard: XllPlus.h included in project | The file XllPlus.h is now automatically added to the list of
files in a new project.
This makes the XLL+ header files known to the DevStudio parser, and
thereby switches on IntelliSense for XLL+ classes and functions.
|
E00045 | ENH
- New reference methods for CXlOper | New methods for references have been added to CXlOper:
SetValue(), MakeRef(), GetActiveCell() and SetActiveCell().
|
E00046 | ENH
- New reference methods for CXllApp | New methods for references have been added to CXllApp:
MakeSheetName(), SplitSheetName(), GetSheetId() and GetSheetName().
|
E00047 | ENH
- New errror handling method for CXllApp | A new method for has been added to CXllApp,
SetErrorHandling(), which switches on and off XL4 macro error handling.
|
E00048 | ENH
- New class CXllFinder | A new class has been added, to support find and replace
operations.
|
E00049 | ENH
- New sample application FindReplace | A new sample application, FindReplace, shows how to use the
CXllFinder class.
|
E00050 | ENH
- New chapter in user guide: Macro functions | A new chapter on Macro functions has been added to the User Guide.
|
E00051 | ENH
- New tech note: Bounded input arrays | A new technical note has been added,
which discusses the use of upper bounds in ReadVector() and ReadMatrix().
|
E00052 | ENH
- New chapter in user guide: Writing safe functions | A new chapter on exception handling has been added to the User Guide.
|
E00053 | ENH
- New sample application SafeCode | A new sample application, SafeCode, shows how to protect your code
with Structured Exception Handling.
|
E00054 | ENH
- Sample applications added to documentation | A new section in the online documentation describes each of the sample applications.
|
Item | Change | Description |
E00055 | ENH
- New string methods for CXllApp | A new set of static methods, RetString(), have been added to CXllApp,
to return string results to Excel.
|
E00056 | ENH
- New stack check method for CXllApp | A new static method, XlGetStackSpace(), has been added to CXllApp,
to return the number of bytes available in the stack.
|
E00057 | ENH
- New error conversion method for CXllApp | A new static method, ErrorToString(), has been added to CXllApp,
to convert an error code to a string.
|
E00058 | ENH
- New bool() casting operator for COper | A new casting operator, bool(), has been added to COper,
to extract and return a C++ boolean value.
|
E00059 | ENH
- New optional argument reading functions for COper | A new templated optional argument reader, ReadOptional(), has been added
to COper, to extract and return any simple scalar value from an optional argument.
This function is preferred to the older ReadOpt().
|
E00060 | ENH
- Enhancements to COper::ReadVector(), COper::ReadVectorBounded() and COper::ReadMatrix() | The array argument reading functions, ReadVector(),
ReadVectorBounded() & ReadMatrix(),
have been replaced by templated functions, which can handle any basic C++ type.
The functions are no longer limited to double, long and CString output types.
|
E00061 | ENH
- New COper functions ReadRow() and ReadColumn() | New helper functions have been added to allow a vector to be read
only as a row or a column.
|
E00062 | ENH
- New STL collection support | New template methods, ReadArrayIntoOrderedCollection1D()
and ReadArrayIntoSet1D(), have been added to COper to allow an array to be read
into any STL collection class.
|
E00063 | ENH
- New matrix classes | A new set of matrix support interfaces and classes have been
added, to support faster and more flexible storage and conversion of two-dimensional
arrays, and integration with users' existing matrix classes and libraries.
|
E00064 | ENH
- New CXlOper constructors | New constructors have been added for CXlOper, to support
conversion from the C++ bool type and the STL std::string type.
|
E00065 | ENH
- New bool() casting operator for CXlOper | A new casting operator, bool(), has been added to CXlOper,
to extract and return a C++ boolean value.
|
E00066 | ENH
- New matrix output functions | A new templated conversion function, CXlOper::FromMatrix(),
and a new templated constructor have been added to CXlOper, to support
output of matrices of any basic C/C++ type.
|
E00067 | ENH
- Excel function names may contain periods | The Function Wizard now allows Excel function names to include periods
e.g. "GET.SYSTEMTIME".
|
F00043 | FIX
- Fixed memory leak under Windows XP | A memory leak (under Windows XP only) in the STL libraries'
implementation of CString::AllocSysString() was fixed.
|
F00044 | FIX
- CXllCOM::Init() fails with Excel 2000/2002 | On some machines running Excel 2000 or 2002,
CXllCom::Init() failed with the following error:
"CLSIDFromProgID("Excel.Application.8", ...) failed with
error 800401f3".
This bug applied only to machines on which Excel 97 had
never been installed. This behavior has been fixed and
the function will now succeed, as long as any of Excel 97,
2000 or 2002 has been correctly installed.
|
F00045 | FIX
- Argument descriptions can now start with a digit | If an argument description (other than the first) began with a digit,
then it was possible for the description to be hidden, and possibly also all
subsequent arguments' descriptions. This behavior has been fixed.
|
E00068 | ENH
- New methods for cell formulae | New methods CXlOper::GetFormula() and CXlOper::SetFormula()
let you inspect and change formulae in spreadheet cells.
|
E00069 | ENH
- Visual Studio .NET integration | XLL+ 4.2 works within Microsoft Visual Studio .NET, with fully integrated
wizards and help.
(Visual Studio 6 and Visual C++ 6 continue to be supported.)
|
E00070 | ENH
- New dialog classes | New classes CXlDialog and CXlControl have been added, to support
the use of native Excel dialogs.
|
E00071 | ENH
- New menu class | A new class CXlMenu has been added, to support
the addition of menus to Excel's application menu.
|
F00046 | FIX
- GetVersionInfo bug fixed | The bug in CXllApp::GetVersionInfo() which caused MFC dialogs to fail
to appear after its use has been fixed. (See XLL+ FAQ #5.)
|
F00047 | FIX
- Functions now disappear from Excel Formula Wizard when unregistered | Prior to this version, functions in XLLs that were unregistered (via the Tools - Addins
dialog) remained in the Formula Wizard, stripped of help text.
This behaviour has been fixed.
|
E00072 | ENH
- Optional arguments in Function Wizard | Arguments can now be marked as Optional in the XLL+ Function Wizard,
and default values can be provided for missing arguments.
|
E00073 | ENH
- Automatic internationalisation of standard categories | Functions that use standard categories are registered in the current Excel language.
|
Item | Change | Description |
F00050 | FIX
- Bug in MtCalc | The MtCalc sample add-in caused Excel to crash if the application was
closed with calculations still running.
This behaviour has been fixed.
|
E00074 | ENH
- .NET AppWizard automatically opens C++ source file | The .NET AppWizard now automatically opens the main cpp file
after creating an XLL+ project.
|
F00051 | FIX
- CXllApp::GetVersionInfo() failed under MFC | Calls to CXllApp::GetVersionInfo() failed under MFC under certain
conditions. This behaviour has been fixed.
|
F00052 | FIX
- Various bad links in User Guide |
|
F00053 | FIX
- Erroneous function descriptions in Reference | Errors in the ple::imtx<T> documentation were fixed.
|
F00054 | FIX
- CXlDialog class failed to compile with MFC | Errors in the CXlDialog class prevented compilation under MFC under
some conditions. This behaviour has been fixed.
|
E00075 | ENH
- Walkthroughs | A new section "Walkthroughs" containing task-oriented
walkthroughs has been added to the XLL+ help.
|
E00076 | ENH
- Installable matrix classes | The developer can now install their own matrix classes
in place of those supplied with XLL+, by creating a matrix adapter class,
and overriding the macros MTX_FLAT and MTX_PTRS.
|
E00077 | ENH
- Extended attributes dialog | A new dialog, listing extended function attributes,is available
from the Edit menu of the XLL+ Function Wizard.
|
E00078 | ENH
- Application-level data flag | A new function flag, "appscope" is available.
The flag, if true, causes "XLL_FIX_STATE;" to be generated at the start of the add-in function.
It can be set via the Extended Attributes dialog.
|
F00055 | FIX
- Function Wizard Context Help under .NET | Function Wizard Context Help failed under .NET.
This behaviour has been fixed.
|
E00079 | ENH
- Registry settings documentation | A list of all registry settings used by the various XLL+ components
is now included as a technical note in the reference guide.
|
Item | Change | Description |
E00083 | ENH
- New members for mtx_ptrs<T> | New members, including a casting operator, have been added
to the template class mtx_ptrs, to simplify access to array values.
|
E00084 | ENH
- New extended attribute for Formula Wizard | A new extended attribute is now supported by functions and can be
controlled using the Extended Attributes dialog.
The attribute, 'nopreview', determines whether the function will be unavailable
if called from the Excel Formula Wizard.
|
F00058 | FIX
- COper::ReadVectorItem bug | A bug in COper::ReadVectorItem caused Excel to crash when
handling the error message for a missing argument.
This has been fixed.
|
E00085 | ENH
- COper::ReadGroupItem replaces COper::ReadVectorItem | COper::ReadGroupItem is now used in place of COper::ReadVectorItem
in functions generated by the Function Wizard.
|
E00086 | ENH
- Visual Studio .NET Help integration | Visual Studio .NET Help integration has been completed.
All topics are now in the style and structure of Visual Studio.
|
E00087 | ENH
- New methods for CXlMenu | CXlMenu now contains new methods for menu manipulation:
DeleteItem(), EnableItem(), CheckItem() and ReplaceItem().
CXlMenu can also be used to create sub-menus, by calling the new
forms of Create().
|
E00088 | ENH
- Advanced menu sample | A new sample, SubMenus, has been added,
to demonstrate how to add sub-menus and dynamic menus.
|
E00089 | ENH
- COM event handler interface | A new simplified COM event handler interface,
CXllApp::SetComEventHandler() has been added.
|
E00090 | ENH
- COM event handler documentation | The COM event handler interfaces have all been documented.
|
E00091 | ENH
- COM event handler samples | A new sample, ComEvents, has been added,
to demonstrate how to add a handlers for COM events
such as WorkbookOpen and Calculate.
|
F00059 | FIX
- Grouped arguments | Grouped arguments that were marked as optional
were failing to remember their state in the Formula Wizard.
This behaviour has been fixed.
|
F00060 | FIX
- Empty arrays | CXlOper::AllocArray() asserted when an array of
zero rows, columns or items was created.
This behaviour has been fixed to be tolerant of empty arrays.
|
F00061 | FIX
- Crash in Export window | The Function Wizard crashed when a non-existent
directory was selected for an exported XML file.
This behaviour has been fixed.
|
E00092 | ENH
- Walkthroughs for array results | Two new walkthroughs have been added to demonstrate
how to return array results from add-in functions.
|
E00093 | ENH
- Walkthroughs for grouped arguments | A new walkthrough has been added to demonstrate
how to create grouped arguments with the Function Wizard.
|
Item | Change | Description |
E00094 | ENH
- New classes for calling Excel functions | Two new classes, CXlFuncs and CXlMacros, have been added to
simplify calling most Excel worksheet and macro functions from C++.
|
E00095 | ENH
- Sample for calling Excel functions | A new sample CallExcel has been added to demonstrate
how to use the CXlMacros and CXlFuncs classes to call Excel functions.
|
E00096 | ENH
- New methods for Binary Names | New methods have been added to handle the DefineBinaryName
and GetBinaryName call-backs. These allow you to store binary data in Excel worksheets
so that it persists when they are closed and reopened.
|
E00097 | ENH
- Sample for Binary Names | A new sample, BinaryData, has been added to demonstrate
how to store binary data in spreadsheets using Binary Names.
|
F00062 | FIX
- Single column COper arrays | COper::AllocArray() failed when an array with one
column was created.
This behaviour has been fixed.
|
E00098 | ENH
- How Do I... | A new "How Do I..." topic has been added to the on-line help,
containing references to the most commonly needed topics.
|
E00099 | ENH
- CXlOper::AllocArray | CXlOper::AllocArray() has a new variant that allows you
to initialise all cells immediately after allocation.
|
F00063 | FIX
- Treatment of blank cells in arrays | Under versions 4.2.1 to 4.2.3,
COper::ReadVector(), COper::ReadMatrix() and all related array reading methods
rejected cells containing empty strings when reading numbers.
These cells are now, by default, treated as empty cells.
|
E00100 | ENH
- XlpSetTemplate tool | A new command line tool, XlpSetTemplate.exe, has been provided to let
you change the template file used by the XLL+ Function Wizard.
|
E00101 | ENH
- Serialization classes | New serialization classes, CXlSerialData and CXlInputKey, have
been added to help you store Excel data types.
|
E00102 | ENH
- Cache class | A new cache class, CXlOperCache, has
been added to speed up the performance of frequently called add-ins,
by cacheing the results in a map.
|
E00103 | ENH
- Cache sample | A new sample, AvgOpt, has been added, to demonstrate the
use of the CXlOperCache class.
|
E00104 | ENH
- Function Wizard cache flag | A new attribute, "cacheresults", has
been added to the Function model, to automatically add cacheing to an add-in function.
The attribute is available as a menu item on the Function menu in the XLL+ Function Wizard.
|
E00105 | ENH
- AppWizard cache option | The AppWizard now offers an option to add a cache of type CXlOperCache
to a new project's application class.
|
E00106 | ENH
- AppWizard overrides option | The AppWizard now offers an option to add default implementations of
OnXllOpenEx() and OnXllClose().
|
E00107 | ENH
- SimpOpt sample | The SimpOpt sample has been improved, and now uses the CXlOper::CallAddin
method to invoke one add-in function from another.
The sample documentation has been expanded.
|
E00108 | ENH
- FAQ | The Frequently Asked Questions have been copied from the web-site
to the on-line help.
|
E00109 | ENH
- Functions to get and set Calculation mode | Two new functions, CXllApp::GetCalculationMode() and
CXllApp::SetCalculationMode() have been added.
|
E00110 | ENH
- Integration sample | A new advanced sample, Integration, had been added, which uses
dialogs and macro functions to integrate functions in a workbook.
|
E00111 | ENH
- Functions to detect user cancel | Two new functions, CXllApp::GetUserAbort() and
CXllApp::CancelUserAbort() have been added, to detect the user pressing the Cancel key.
|
E00112 | ENH
- Structured Exception Handling | A new class SE_Handler is used in the SEH sample code,
to simplify the use of C Structured Exception Handling techniques.
|
Item | Change | Description |
F00069 | FIX
- CXllApp::GetVersionInfo() | Errors in CXllApp::GetVersionInfo() were causing
(i) instability in the STL build and
(ii) abnormal string truncation in the MFC build.
These have been fixed.
|
F00070 | FIX
- CXlOper & COper vector & matrix template functions | Bugs in the C6 compiler were causing unpredictable compiler
crashes when the templated functions of CXlOper and COper were used.
All these functions have been reimplemented as macros for the Visual Studio 6
build only, and moved to a separate file "xlptplmc.h".
The compiler crashes no longer occur.
|
F00071 | FIX
- CXlRef::ToString() | The class CXlRef was wrongly generating string addresses for cells in
column AA.
The behavior has been fixed.
|
F00072 | FIX
- CXllApp::SplitSheetName() | CXllApp::SplitSheetName() was wrongly truncating the book portion of
a combined sheet name.
The behavior has been fixed.
|
F00073 | FIX
- COper::ReadMatrix() & COper::ToMatrix() | COper::ReadMatrix() & COper::ToMatrix() were crashing Excel
when the usIgnoreRows or usIgnoreCols parameters were set.
The behavior has been fixed.
|
F00074 | FIX
- COM interface failed in non-English versions | The initialization of the COM interface failed in non-English versions
of Excel. As a result, events could not be trapped and some samples, including
"CalcEvt" would not run.
The behavior has been fixed.
|
F00075 | FIX
- Function wizard unable to handle argument names containing 'ia' | The Function wizard was unable to handle argument names containing the character
sequence "ia".
The behavior has been fixed.
|
F00076 | FIX
- VS6 resource editor unable to edit resources | When the Visual Studio 6 resource editor was used to edit resources
in a project built by the XLL+ AppWizard (using STL libraries only),
an error occured when the changed resources were saved.
This behavior has been fixed: the resource file header is now named resource.h.
|
F00077 | FIX
- Warning from VS.NET resource editor | When the Visual Studio .NET resource editor was used to edit resources
in a project built by the XLL+ AppWizard (using STL libraries only),
a warning appeared when the changed resources were saved.
This behavior has been fixed: the resource file header is now named resource.h.
|
F00078 | FIX
- CXlOper::SetFormula() | CXlOper::SetFormula() was setting A1-style formulae relative
to the active cell, rather than relative to the cell whose formula was being set.
This behavior has been fixed.
|
F00079 | FIX
- CXlOper::ConvertFormula() | CXlOper::ConvertFormula() was a static function. As a side-effect of this,
it was calculating relative addresses wrongly. Thnis design error has been foxed and
is now a const CXlOper::ConvertFormula() member function.
This may be a breaking change for existing code that uses CXlOper::ConvertFormula().
|
E00117 | ENH
- Serialization classes | The serialization classes (CXlOStream, CXlIStream,
CXlSerialData, CXlInputKey, CXlResultSet & CXlOperCache)
have been extended for ease of use, and documented.
|
E00118 | ENH
- Serialization sample | A new sample, "Serialize", has been added,
which demonstrates the serialization classes.
|
E00119 | ENH
- Grabbing a cell value example code | New example code has been added to show how to grab
a cell value from a sheet in a macro add-in.
|
E00120 | ENH
- Tool bars | A new class, CXlToolbar, has been added, which allows
the developer to create toolbars, populate them and manage their state.
|
E00121 | ENH
- Toolbar samples | Three new samples, "Toolbar1", "Toolbar2" and "Toolbar3", have been added,
which demonstrate the CXlToolbar class.
|
E00122 | ENH
- Creating a long formula | New example code has been added to show how to create a long
(>512 characters) formula.
|
E00123 | ENH
- Safe code for .NET runtime | A new sample, "CallDotNet", has been added, which shows how to amend the
classes generated by the XLL+ AppWizard, so that they are safe to use
with the .NET run-time classes.
|
E00124 | ENH
- CXlOper::AllocArray() | A new variant of the function has been added, that allows all cells
to be initialized to a supplied value. The documentation has been corrected.
|
E00125 | ENH
- CXlOper::SetLongFormula() | A new function has been added, that supports
setting formulae of more than 255 characters.
|
E00126 | ENH
- New push model | A new version of the Push model has been released, written in Visual Basic
for Applications. The model is supplied with source code, and is not supported code.
The old C++ Push model, which displays instabilities under Excel 2000, is discontinued.
|
E00127 | ENH
- Formatting cells | New example code has been added to show how to format a range of
cells.
|
E00128 | ENH
- International settings | New example code has been added to show how to get the current
international settings from Excel.
|
E00129 | ENH
- International information | A new method, CXllApp::GetInternational(), has been added
to retrieve the current values of various international settings, including
decimal point, thousands separator and list separators.
|
E00130 | ENH
- Creating a workbook | New example code has been added to show how to create and populate a
new workbook.
|
E00131 | ENH
- Creating a sheet | New example code has been added to show how to create and populate a new
sheet in an existing workbook.
|
E00132 | ENH
- Extracting a range from an array | New example code has been added to show how to extract a range of values
from an array argument passed by Excel to an add-in function.
|
E00133 | ENH
- CXllApp::XlInputBox() | A new method, XlInputBox(), has been added to the CXllApp class.
This displays a simple input box, with caption title and default value.
The user can enter a value or select a range in a spreadsheet.
|
E00134 | ENH
- COM Wrappers | A new tool, ComWrapperGen, has been added.
This generates all the source code for a COM wrapper library,
which will allow developers to call your XLL add-in functions
from stand-alone Visual Basic, C++ and C# applications.
|
E00135 | ENH
- XLL Version function | The built-in version function, optionally built into new
add-ins by the AppWizard, now uses the resource file to load
the company name.
|
E00136 | ENH
- CXlOper::FromNumericVector | A new method, CXlOper::FromNumericVector(), has been added,
to create an add-in result which
contains a vector of numbers, from a vector of any numeric type.
|
E00137 | ENH
- AppWizard creates toolbar code | A new option has been added to the toolbar "Add a toolbar".
If checked, the AppWizard adds code to create and display a toolbar
when the add-in opens.
|
E00138 | ENH
- New CXlOper constructor | A new constructor, CXlOper::CXlOper(const CString&),
and assignment operator CXlOper::operator=(const CString&),
have been added, for the convenience of passing strings instead of
CXlOper arguments.
|
E00139 | ENH
- Localized strings | Most strings can now be localized, so that they appear
in the language of the user (if available). A string such as "#123"
will be replaced by string resource 123, loaded from the add-in's
resource file, in the current language.
|
E00140 | ENH
- Localized argument names | A new field has been added to the Function Wizard, to allow
developers to assign resource strings to argument names. The argument names
will thus appear in Excel in the language of the user.
|
E00141 | ENH
- New CXlMacros methods | New methods have been added to CXlMacros:
GetActiveWorkbookName, GetActiveWorksheetName, WorkbookGetWorksheetCount
NewDefaultWorkbook, NewSingleSheetWorkbook, WorkbookMove & WorkbookCopy.
All these methods allow you to create and manipulate workbooks and worksheets.
|
E00142 | ENH
- New Macro topics | New topics have been added to the User Guide, discussing
the CXlMacros class, how to use cell references and how to manipulate
fornlae in cells.
|
E00143 | ENH
- CXlOper::GetLongString() | A new function has been added, that supports
retrieving string values which contain more than 255 characters.
|
E00144 | ENH
- CXlRef::MoveBy() | A new function has been added, that supports
adding a row and column offset to a range reference.
|
E00145 | ENH
- CXlOper international formulae functions | New functions have been added to CXlOper, to support getting and setting
formulae in international format: GetFormulaIntl(), SetFormulaIntl(), SetLongFormulaIntl(),
ConvertFormulaIntl() and MakeRefIntl().
|
E00146 | ENH
- CXlRef international strings | New optional arguments have been added to CXlRef::ToString() and
CXlRef::FromString(), to support getting and setting RC style cell addresses
formulae in international format. A new static method GetRowColumnLetters()
can be used to get the petters used for RC style addresses in the langauge
of the Excel version being used.
|
Item | Change | Description |
E00147 | ENH
- Support for Visual Studio 2005 | XLL+ version 5 supports Microsoft Visual Studio 2005. The run-time libraries and
samples use the new 'safe' functions of the C standard library. The help and
user guide integrate fully with the new Visual Studio 2005 help formats and
style, and the XLL+ tools work within the VS 2005 environment.
|
E00148 | ENH
- Asynchronous functions using RTD | We've added a new Real-time Data module,
along with sample code and a User Guide, to let you write asynchronous
functions that calculate in a background, and only return to Excel when a
calculation is complete. The module uses Excel's native RTD mechanism to
provide an asynchronous calculation implementation that is efficient, stable
and unintrusive.
|
E00149 | ENH
- XllHost module | You can now use the wrapper libraries generated by the XLL+ COM
Wrapper Generator with XLL Host to run applications on machines that do not have Excel
installed. This makes it possible to deliver your Excel add-ins to production
environments on business-critical servers without any change to your code.
|
E00150 | ENH
- ColorCell sample | A new sample shows how to set the colors of cells from a macro function.
|
E00151 | ENH
- UseTimer sample | This sample add-in shows how to run a macro function at a specific time.
|
E00152 | ENH
- AvgOptAsync sample | The AvgoptAsync sample demonstrates how to write asynchronous add-in
functions that do their work in a separate thread, leaving Excel available and responsive.
Excel's built-in RTD mechanism is used to update the target spreadsheet when
calculation is complete.
|
E00153 | ENH
- Support for Proxy Libraries | A new virtual method, CXllApp::GetRegDllName, has been added which enables
you to register add-in functions that are not contained in the XLL loaded by Excel.
This allows the use of boot-strap XLLS, which is necessary for the safe use of the
.NET (CLR) run-time libraries from an XLL add-in.
|
E00154 | ENH
- mtx_ptrs::erase method | A new method has been added to the mtx_ptrs template class, which allows
you to erase a subset of the columns or rows in the matrix.
|
E00155 | ENH
- CXlFormulaRefresh::RefreshSheet | The CXlFormulaRefresh::RefreshSheet method has been improved,
so that it is now much faster to recalculate handles.
New methods have also been added: CXlFormulaRefresh::RefreshCell and
CXlFormulaRefresh::RefreshRange.
|
F00080 | FIX
- Optional matrices | The Function Wizard was not emitting code to handle
matrix inputs that were optional. This behavior has been fixed.
|
F00081 | FIX
- Function name lengths | The Function Wizard restricted all 'C' functions to 32 characters.
This constraint was required for Visual C++ 5 and earlier versions.
The restriction has now been relaxed to 64 characters.
|
F00082 | FIX
- Argument names containing 'ia' | The Function Wizard was failing to produce code for
arguments which included the letters 'ia'.
This behavior has been fixed.
|
F00083 | FIX
- Padding of argument descriptions | Under most Excel versions, the Excel Formula Wizard showed
two extra characters on most argument descriptions: a space followed by a period.
This behavior has been fixed.
|
F00084 | FIX
- Set argument dimensions command | In the XLL+ Function Wizard under XLL+ for Visual Studio .NET,
the accelerator keys Ctrl+0, Ctrl+1 and Ctrl+2 should have been setting the
dimensions of the selected argument to scalar, vector and matrix respectively,
but were being ignored.
This behavior has been fixed.
|