Version 3.12 of DiffEngineX was released on 21st November 2016. This version fixes problems with Excel exceptions and errors being intermittently thrown during and after the process of comparing two Excel workbooks. The root cause is due to Microsoft updates to their Windows and Office software.
If you are running 3.04 or earlier, it is not possible to automatically update to version 3.12. Please manually uninstall using the Windows Control Panel->Programs functionality, before installing the new version from here.
Further to Microsoft's announcement that Windows will no longer trust code signed with a SHA-1 code signing certificate, we have released new versions of DiffEngineX signed with a SHA-256 one. Digital signatures allow confidence that software has not been altered in transit and comes from a named publisher.
If you are using version 3.10 you should upgrade to version 3.11 (built on Windows 10) or above.
If you are using version 3.03, or lower, you should upgrade to version 3.04 (built on Windows 7) or above.
If you have purchased version 2, please click here for details on what to do.
Version 3.10 of DiffEngineX was released on the 31st July 2015. It has the same functionality as version 3.03, but has been built with a later version of Microsoft development software. If you have Excel 2013 installed, you will notice a speed increase of 25% over version 3.03.
As the installation package is different, it is not possible to use the built-in functionality to update from version 3.03 to 3.10. Version 3.03 must be manually uninstalled using the Windows Control Panel->Programs functionality, before installing version 3.10.
We recommend all users upgrade to version 3.10 or later, as these versions will from now on receive the automatic updates.
DiffEngineX needs to insert blank rows into temporary copies made of the two Excel workbooks it compares in order to get similar regions to line up. Only when the cells have been aligned, is it possible to compare the formulae that reference them due to row insertion and deletion.
As such protected Excel worksheets cannot, by default, by compared by DiffEngineX.
Version 3.03 allows you to specify a password to unlock protected worksheets and thereby allow DiffEngineX to compare them.
This functionality can be found under Settings->Unprotect Worksheets.
If you are supplying command line arguments you should make use of the below.
Version 3.02 of DiffEngineX can now report on the differences between two folders of Excel workbook files (xlsx, xlsm, xlsb and xls) in one operation. The new functionality is available from the Compare Folders menu item under Tools.
The relevant section of the help file can be found here.
DiffEngineX returns meaningful exit codes when called programmatically or from batch files. Only versions 2.22 and above return codes -5, -6 and -7. Only versions 3.02 and above return codes -8, -9, -101 and -102.
|Number of worksheet cell differences
|No worksheet cell differences found
|Number of differences greater than maximum integer value
|Workbooks could not be compared due to protected worksheets
|Workbooks are different, at least, because of unpaired worksheet names
|Row or column alignment has failed
|Visual Basic difference report could not be displayed in a web browser
|Visual Basic difference report could not be output
|Error while comparing Excel defined names
|Error while comparing comments
|No worksheet cell differences found, but differences found in one or all of VBA, names or comments*
|Worksheet cells differences found and differences found in one or all of VBA, names and comments*
* The switches /comparevisualbasic, /compareexcelnames and /comparecomments must be specified if you wish to check for differences in VBA macros, defined names and comments.
In summary any positive integer, -4, -101 and -102 signify differences have been found in the Excel workbooks. 0 means no differences have been found. All the other codes signify errors or that checking for differences could not be completed.
A sample batch file (*.bat) testing the exit code is given below.
"C:\Program Files\Florencesoft\DiffEngineX\DiffEngineX" /inbook1:"a.xlsx" /inbook2:"b.xlsx" /report:r.xlsx
@if "%ERRORLEVEL%" == "0" goto good
echo Workbooks are different or error occurred
echo return value = %ERRORLEVEL%
echo Workbooks have no cell differences
echo return value = %ERRORLEVEL%