Solution
A reason for the crash can be a change to the ActiveX API, which added an additional paramater.
Sometime around late 2016, Microsoft updated their ActiveX API, and these changes were automatically pushed to users of Microsoft Office 365 in Version 1609. An extra parameter called WorkIdentity was added to the ActiveX function call SaveAs, which is an Excel Workbook method. If you have the WorkIdentity parameter on your version of Excel, an executable you build with Save Report to File will not be backwards compatible with older versions of Excel, which do not have the parameter.
Excel Update Status | Observed Excel Version | WorkIdentity Parameter? |
---|
Not Updated | Earlier Than 1609 | No |
Updated | 1609 or Later | Yes |
- Open any Office application and go to File » Account.
- Check the version and build of Office on the right side of the screen, under the category Office Updates.
- Executables built on computers with Version 1609 or newer will only run on computers with Version 1609 or newer.
- Executables built on computers with older versions of Excel will still be able to run on computers with Version 1609 or newer.
As a general rule, it is recommended to use the same software version on development and target computers when deploying executables.
If this is not possible to ensure, that all targets are running an updated version of Excel, a workaround can be to build the SaveAs Invoke Node into a PPL on a computer with an old Excel version installed. In the PPL, the SaveAs Invoke Node will continue to work also on machines with newer Excel, despite not containing the
WorkIdentity parameter.