How can I enable excel macros from matlab?

I have a problem where I need to supply a user with a template excel spreadsheet, and allow them to edit it in specific ways. I have the template spreadsheet, and I have built macros into it, to ensure that the spreadsheet behaves in a certain way. I want to cause matlab to copy the template file to a user specified location, add some info, then open the file in excel, for the user to see, and enable macros for that spreadsheet alone.
How can I use matlab to enable macros in a specified spreadsheet?

 Accepted Answer

You need to use ActiveX to do that. Do you know ActiveX or are willing to learn?

3 Comments

From how the active x server for matlab is used in xlswrite, it simply looks like it's accessing the methods of objects in excel using VBA notation & the properties via get & set. What I don't have is the knowledge of how to tell excel how to "enable macros", without having the user manually click somewhere.
AFAIK there is no way of programatically enable Macros. Its a security feature and if one could workaround it programatically it wouldnt make much sense. See also here
I have found a solution to my problem.
It is not possible to simply use ActiveX to access Excel and tell it to change the macro security settings.
It IS possible to use ActiveX to create a new excel workbook, and manipulate it in order to create the spreadsheet you want, and to then add macros to that spreadsheet, and because it is a freshly generated spreadsheet, macros are enabled by default.

Sign in to comment.

More Answers (0)

Asked:

on 11 Feb 2014

Commented:

on 13 Feb 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!