как общаться между Matlab и Power Point или Matlab и Acrobat Reader - PullRequest
5 голосов
/ 15 июня 2011

Я хочу отправить переменную из Matlab в PowerPoint или AcrobatReader, затем в зависимости от значения этой переменной PowerPoint перейдет к следующему или предыдущему слайду или выходу, либо увеличит или уменьшит масштаб в acrobatreader.Является ли это возможным?это должно быть потому, что в настоящее время мы можем управлять такого рода программным обеспечением с помощью дистанционного управления, это означает, что они могут получать данные извне, но как это происходит или по какому протоколу?Tanx.

Ответы [ 3 ]

5 голосов
/ 15 июня 2011

Вы можете управлять PowerPoint через ActiveX

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);

Вы должны ознакомиться с документацией MATLAB для actxserver, а также Справочник разработчика MSDN Power Point .Большинство методов и свойств объекта ActiveX отображаются в MATLAB как методы и свойства.Вы можете использовать methods(h) и get(h), чтобы изучить их.Единственными хитрыми являются коллекции.Обычно вам нужно сказать что-то вроде hCollection.Item(N), чтобы получить N-й предмет из коллекции.

1 голос
/ 15 июня 2011

Насколько я понимаю, докладчики на пульте дистанционного управления работают, имитируя нажатия клавиш (например, стрелка вправо для следующего слайда и т. Д.) Чтобы сделать нечто подобное в MATLAB, вы можете изучить java.awt.Robot так же, как в этом посте MathWorks .

0 голосов
/ 27 декабря 2013

Эй, может быть, это поможет тебе,

Вы можете посмотреть на http://www.mathworks.de/matlabcentral/fileexchange/44851-toppt

...