Ich möchte eine Variable von Matlab nach PowerPoint oder AcrobatReader senden, dann abhängig vom Wert dieser Variablen geht PowerPoint zur nächsten oder vorherigen Folie oder beendet die Präsentation, oder zoomt in oder aus in AcrobatReader. Ist das möglich? Es sollte möglich sein, weil heutzutage können wir diese Art von Software mit einer Fernbedienung steuern, was bedeutet, dass sie Daten von außerhalb erhalten können, aber wie ist das oder was ist das Protokoll? Danke.
Antworten
Zu viele Anzeigen?Sie können PowerPoint über ActiveX steuern
h = actxserver('PowerPoint.Application');
h.Visible = 1; % das Fenster wird angezeigt
h.Presentations.Open('C:\Temp\MyPresentation.pptx');
%%
h.ActivePresentation.SlideShowSettings.Run; % es läuft jetzt eine Bildschirmpräsentation
%%
hShow = h.SlideShowWindows.Item(1);
%%
hShow.View.GotoSlide(3); % gehe zur 3. Folie
hShow.View.Next; % zur nächsten Folie gehen
%%
hShow.View.Exit; % Bildschirmpräsentation beenden
%%
h.ActivePresentation.Close; % die Präsentation schließen
%%
h.Quit;
delete(h);
Sie sollten die MATLAB-Dokumentation für actxserver
und auch die MSDN PowerPoint-Entwicklerreferenz überprüfen. Die meisten Methoden und Eigenschaften eines ActiveX-Objekts erscheinen in MATLAB als Methoden und Eigenschaften. Sie können methods(h)
und get(h)
verwenden, um sie zu untersuchen. Die einzigen kniffligen sind Sammlungen. Sie müssen in der Regel etwas wie hCollection.Item(N)
sagen, um das N-te Element aus der Sammlung zu erhalten.
Mein Verständnis ist, dass Fernbedienungs-Präsentatoren funktionieren, indem sie Tastatureingaben simulieren (wie zum Beispiel die rechte Pfeiltaste für die nächste Folie usw.). Um etwas Ähnliches in MATLAB zu tun, könntest du java.awt.Robot
auf die gleiche Weise erkunden wie dieser Beitrag von MathWorks.
Hey vielleicht hilft dir das weiter,
du kannst einen Blick auf http://www.mathworks.de/matlabcentral/fileexchange/44851-toppt werfen