启动Matlab的App
这里以在PPT中全屏启动立方体割面演示程序为例
1、启动Matlab
2、输入命令enableservice("AutomationServer",true);
如果不进行前两个步骤,由于Matlab需要启动,所有待会第一次运行代码时会有严重延迟,建议先启动好。
3、启动开发者工具
PPT->文件->选项->自定义功能区->自定义功能区->勾选开发工具->确定
4、开发者工具->visual basic->右击“VBAProject”->工程栏内插入模块->输入代码
Sub runcube()
Dim Matlab As New MLApp.MLApp
result = Matlab.Execute("CubeCut 'FS'")
End Sub
Code language: VB.NET (vbnet)
5、开发者工具->visual basic->菜单中的工具->引用->勾选Matlab Automation Server Type Library->确定
6、返回PPT选中一个按下后打开Matlab程序的对象(图片等都行)
例如创建一个椭圆形:插入->形状->选择椭圆形->放置在PPT中->右击->编辑文字->写“立方体割面程序”
6、插入->链接->动作->单击鼠标时运行宏->选中runcube->确认
7、启动幻灯片放映点击“立方体割面程序”即可全屏启动App
退出全屏按“ESC”键
运行Matlab代码并回显图片
1、确保开发者工具启动(重复上述三步(设置在所有PPT都生效,做一次就行))
2、开发工具->控件->文本框->放置在PPT内
3、开发工具->控件->命令按钮->放置在PPT内
4、开发工具->控件->其他控件->选择“Microsoft LinkPicture Control”->放置在PPT内
5、右击按钮->属性表->在Caption中编辑文字“运行”->关闭窗口
6、开发者工具->visual basic->菜单中的工具->引用->勾选Matlab Automation Server Type Library->确定
7、在桌面创建文件夹Matlabtemp(推荐在Documents中创建,这里以桌面为例)
7、返回PPT双击刚创建的按钮,在Private Sub CommandButton1_Click()和End Sub之间输入以下代码(默认光标会自动在这个位置)
Dim Matlab As New MLApp.MLApp
result = Matlab.Execute("set(gcf,'visible','off');enableservice("AutomationServer",true);set(gcf,'Position',get(0,'ScreenSize'));")
h = TextBox1.Value
result = Matlab.Execute(h)
result = Matlab.Execute("print(gcf,'-djpeg','刚创建的文件夹路径\a.jpg');")
InkPicture1.Picture = LoadPicture("刚创建的文件夹路径\a.jpg")
result = Matlab.Execute("close;")
Code language: VB.NET (vbnet)
8、返回PPT并开始“幻灯片放映”->在文本框内输入Matlab绘图代码
示例:
syms x y z
f=x^2+y^2==z^2
fimplicit3(f)
Code language: Matlab (matlab)
9、点击按钮运行绘图会出现在创建的图片框中
注意事项
1、保存PPT时需要选择“启动宏的PowerPoint演示文稿”(后缀名为pptm)