如何在Matlab和Power point或Matlab和acrobat reader之间进行通信

时间:2011-06-15 14:12:13

标签: matlab powerpoint acrobat

我想从Matlab向PowerPoint或AcrobatReader发送变量,然后依赖于此变量的值,PowerPoint将转到下一个或上一个幻灯片或退出,或放大或缩小acrobatreader。 可能吗?它应该是因为现在我们可以通过远程控制来控制这类软件,这意味着它们可以从外部获取数据,但协议是如何或者是什么? 坦。

3 个答案:

答案 0 :(得分:5)

您可以通过ActiveX

驱动PowerPoint
h = actxserver('PowerPoint.Application');
h.Visible = 1; % make the window show up
h.Presentations.Open('C:\Temp\MyPresentation.pptx');
%%
h.ActivePresentation.SlideShowSettings.Run;  % there is now a slide show running
%%
hShow = h.SlideShowWindows.Item(1);
%%
hShow.View.GotoSlide(3);  % go to the 3rd slide
hShow.View.Next;   % go to next slide
%%
hShow.View.Exit;   % end slide show
%%
h.ActivePresentation.Close;   % close the presentation
%%
h.Quit;
delete(h);

您应该查看actxserver的MATLAB文档以及MSDN Power Point developer Reference。 ActiveX对象的大多数方法和属性在MATLAB中显示为方法和属性。您可以使用methods(h)get(h)来检查它们。唯一棘手的是收藏品。您通常需要说hCollection.Item(N)之类的内容来从集合中获取第N个项目。

答案 1 :(得分:1)

我的理解是远程控制演示者通过模拟击键来工作(例如下一张幻灯片的右箭头等)要在MATLAB中做类似的事情,你可以像{{3}一样探索java.awt.Robot。 }。

答案 2 :(得分:0)

嘿,也许这会对你有帮助,

您可以查看http://www.mathworks.de/matlabcentral/fileexchange/44851-toppt