I have .xlsm file with a Macro function. I'm loading it using openpyxl and write some data to the file and finally want to save as a different .xlsm file.
To save the file as XLSM file I have used below code in my Python script.
wb.save('testsave.xlsm');
But I cannot open that file if I saved as above. But if I saved it as .xlsx then I can open the file without the Macro function that original file had.
I want to open a Excel sheet that has Macro function, edit the file and save it as new .xlsm file using openpyxl. How can I do that?
For me this worked, together with version openpyxl==2.3.0-b2
wb = load_workbook(filename='original.xlsm', read_only=False, keep_vba=True)
..
wb.save('outfile.xlsm')
It is also mentioend in the documentation here: http://openpyxl.readthedocs.org/en/latest/usage.html?highlight=keep_vba#write-a-workbook-from-xltm-as-xlsm