What you saw is the normal behavior of the Full Save mode. An .xlsc file is a complete snapshot of the workbook, including its sheets, formulas and VBA code. Loading it replaces the workbook embedded in the EXE, so after a Web Update an old .xlsc brings back the old version of your application.
Since your user data is in named ranges, we suggest one of these two approaches.
Option 1: Cell Values save mode with custom values (our recommendation)
Select "Save defined cell values only" on the Workbook Saving and Loading page. Your updated EXE then keeps your new workbook and VBA code, and only the user's values are restored from the .xlsce file.
Marked cells are saved by cell address, so a range that moves in a later release would be restored to the wrong place. Custom values avoid this, because you choose the key:
- In XLSPadlock_SaveCustomValues, go through your named ranges and write each one with WriteCustomCellValue, using the range name as the ID.
- In XLSPadlock_RestoreCustomValues, read each one with ReadCustomCellValue and write it back through ThisWorkbook.Names("TheName").RefersToRange.
Custom values are stored as text: convert numbers and dates when you read them back. For a list, join its values into one string, with a separator that cannot appear in the list. Example:
https://www.xlspadlock.com/doc/programmatically-restore-save-custom-values-with-vba-code
Please compile with XLS Padlock 2026.3, which fixes several .xlsce loading problems.
Do not change the save mode lightly: in the release that changes it, existing save files are no longer loaded, and users start again from the original workbook. If your application is not widely distributed yet, this is the best moment to switch. Then keep this mode for the life of the application.
Option 2: stay in Full Save mode and add export and import macros
One macro copies your named ranges to a normal .xlsx file, and a macro in the new version reads them back. Here is the code to adapt:
https://www.xlspadlock.com/doc/excel-vba-migrate-user-data-updates
Please keep in mind that:
- The .xlsx file is not encrypted.
- An .xlsc file contains its own VBA code, so the export macro is only available in save files made with a release that includes it.
- If "Do not allow loading/saving other workbooks" is enabled, your macros need the SetOption method described on that page.
For a save file made before you added the macro, you can open it yourself with Decrypt Save File:
https://www.xlspadlock.com/doc/opening-a-save-yourself-decrypt-saves
Moving to another computer
In both modes, the user can copy the save file to the new computer and open it there. The only exception is the Full Save option that locks save files to one computer, if you enabled it.