Verfasst am: 18.09.2013, 08:14
Titel: Mit Matlab Folien in Powerpoint laden und Seite auswählen
Hallo ich habe folgendes Programm von MathWorks verwendet zum Speichern von Abbildungen in Powerpoint und das funktioniert auch sehr gut.
Jetzt habe ich folgendes Problem und finde leider keine Informationen
1. Ich möchte falls der Dateiname unter dem ich es speichere schon besteht, dass bei einem neuen Ausführen des Programms die gleiche Powerpointdatei wieder geöffnet wird und sozusagen die neue Abbildung als nächste Seite dran gehangen wird. So wie es auch bei saveppt2 und saveppt funktioniert.
2. Außerdem würde ich gerne auswählen, auf welcher Seite von Powerpoint ich die Folie speichere und nicht automatisch auf Seite 1.
Gibt es dazu schon Lösungen?
Ich bin neu hier im Forum und würde mich sehr über Hilfe freuen.
Schöne Grüße
Code:
%% Open PowerPoint as a COM Automation server
h = actxserver('PowerPoint.Application') % Show the PowerPoint window
h.Visible = 1;
% Bring up the PowerPoint session help window - this contains the API, the % complete function list. At first it's a little intimidating, but after % acclimating it's not hard to find the methods you're looking for. Also, % the function signatures are given in VBA syntax, so they takes a little % deciphering.
h.Help
%% ADD PRESENTATION % View the methods that can be invoked
h.Presentation.invoke % Add a presentation via "Add" method
Presentation = h.Presentation.Add
%% ADD SLIDES % View the methods that can be invoked
Presentation.Slides.invoke
% Add a slide via "Add" method % IF USING OFFICE 2003, use these commands:
Slide1 = Presentation.Slides.Add(1,'ppLayoutBlank')
Slide2 = Presentation.Slides.Add(2,'ppLayoutBlank')
% IF USING OFFICE 2007, use these commands:
blankSlide = Presentation.SlideMaster.CustomLayouts.Item(1);
Slide1 = Presentation.Slides.AddSlide(1,blankSlide);
Slide2 = Presentation.Slides.AddSlide(1,blankSlide);
%% GENERATE MATLAB IMAGES figure;
plot(1:10) print('-dpng','-r150','<full path>\test1.png') figure;
image(ceil(64*rand(20,20))) print('-dpng','-r150','<full path>\test2.png') % Note: it is still necessary to save these files to disk, and then import % them into PowerPoint from a disk file, because PowerPoint does not % understand MATLAB data types. However, we can script this all from % MATLAB.
%% ADD IMAGES TO SLIDES WITH TITLES % Note: Change the image file full path names to where you save them
Image1 = Slide1.Shapes.AddPicture('<full path>\test1.png','msoFalse','msoTrue',100,20,500,500)
Image2 = Slide2.Shapes.AddPicture('<full path>\test2.png','msoFalse','msoTrue',100,20,500,500)
Also ich habe es jetzt soweit hinbekommen, dass ich die Folien auf einer beliebigen Seite in Powerpoint speichern kann. Falls ich z.B. die Abbildung auf Seite 10 speichern will, aber das Dokument nur 5 Seiten hat, werden automatisch 5 Seiten hinzugefügt.
Jetzt habe ich nur ein letztes Problen. Angenommen das Dokument besteht schon mit z.b 10 Seiten und ich möchte erneut eine Abbildung in das Dokument speichern z.B auf Seite 5 dann wird jetzt jedes mal eine neue Seite hinzugefügt und somit verrutschen auch die alten Abbildungen. So ist dann die Abbildung die das erste mal auf Seite 10 war auf Seite 11.
Wie könnte ich einfach Abbildungen in Powerpoint hinzufügen, wenn die Seiten schon bestehen, ohne eine neue Seite hinzuzufügen?
Vielen Dank für eure Hilfe
Code:
function saveppt_a4p_root(folder, pptFileName, slideNumber, top, left, size);
h=-1;
h = actxserver('PowerPoint.Application');
h.visible;
filespec = fullfile(folder,pptFileName);
ifexist(filespec,'file')
op = invoke(h.Presentations,'Open',filespec,[],[],0);
else
op = invoke(h.Presentations,'Add');
end
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.