Section 9.1 of the manual says this is the default method especially when the user makes lots of changes.
It says the main drawback of this method is that when you deploy an updated EXE file, xlsc save files previously made by the customer will not be automatically upgraded and they will see the last changes made by them and not you.
Please can you clarify something for me.
I would anticipate that deploying an updated EXE file will be to update the VBA and not making any changes to any table or cell data. Therefore the last saved data by them would be the data I would want them to see. What I want them to be able to do is to continue using their data but with the new functionality offered by the new VBA code deployed in the upgraded EXE.
The statement is therefore confusing unless the relevance of it is if your intention was to provide them with a modified file with new data and you wanted them to have that new data going forwards.
Is my understanding correct? Thus if I am only interested in deploying a new exe which upgrades VBA code and intends to use their saved data – then the full save method is the one to use.
The issue here is that if you have a user that is modifying specific cells, but there are cells that you may update (maybe formula etc) in the next version, the only option you realistically have at this point is to utilise the Cell Save and Restore setting.
Unfortunately, I was not personally able to implement this as something made the compiler crash every time I tried it - I think there are strict limitations on either the number of cells, ranges or sheets that can be specified and regrettably, my application is quite large so I was forced to try to find an alternate solution, which is both “micky mouse” and failing.
I use an “export data” VBA procedure to export the data tables to xlsx
That way the user then has to open the new EXE and run a procedure to import the xlsx holding the old data.
Simple and quick
Yes I can and do but that does not give the clarity I was seeking.
The Full Save mode, as described in Section 9.1 of our manual, encrypts and saves the entire workbook exactly as it is at the moment of the user’s save. So if an end user modifies their workbook, saves it and then you distribute a new EXE with updates, when the user opens their previous save file, they will retrieve their modifications, not your updates. This is because their saved file is an exact snapshot of the workbook at the time of the save. Your updates will be in the compiled workbook embedded in the new EXE, but not in the end user’s saved file.
Therefore, if you plan to frequently update your workbook (the VBA code, for instance) but you also want the user to retain their own data, a recommended approach is to implement a VBA routine in your workbook that allows users to export their data to an external workbook and then restore it after your update. This approach provides a balance between retaining user data and applying updates to the workbook.
You can find more details about the two save modes in XLS Padlock on this page: Save Mode: Full or Cell Values
I’ve been looking for this kind of VBA, can I request for this vba procedure if it is ok with you? Thank you.