Programmatically run and export live script

103 views (last 30 days)
I have a set of live scripts that I can save as html and publish for a client to inspect. Right now, I do that by opening one script at a time, hitting F5, and then clicking Save As >> html to save it. I'd like to automate that process. I was hoping publish('script.mlx','html') would work, but it doesn't seem to. I can save the *.mlx as .m and publish that, but it changes the layout and formatting, and I'd like to keep those.

Accepted Answer

Baptiste Ottino
Baptiste Ottino on 7 Aug 2017
Hi, I'm late to the party, but I spent hours and hours on this issue, and by pure luck I just found the answer. So in hope someone reads this, here is the function you are looking for. It certainly is the one called by the "Save As" button.
doc matlab.internal.richeditor.openAndConvert
Best regards.
  13 Comments
Harry van der Pol
Harry van der Pol on 9 Jan 2022
As an addition to the answer of Jesse Desterro
In stead of using strcat, use the function fullfile to make the script run as well on Window like systems as on Unix systems. So instead of
mlxloc = strcat(pwd,'\filename.mlx');
use
mlxloc = fullfile(pwd,'filename.mlx');

Sign in to comment.

More Answers (1)

刘 成
刘 成 on 19 Mar 2022
Edited: 刘 成 on 19 Mar 2022
NOW, we can use export introduced in MATLAB R2022a.
export("myscript.mlx")
NOTE: if run this in GITHUB hosted runner, some problem may happen

Community Treasure Hunt

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

Start Hunting!