How can I add an existing video in a slide (PPT) using MATLAB?

17 visualizaciones (últimos 30 días)
Fabio Ambrosio
Fabio Ambrosio el 11 de Mayo de 2021
Editada: Wei Sun el 5 de Feb. de 2023
I need to create reports in PowerPoint (PPT) using Matlab.
I have a video in AVI format and I would like to add it in the report (PPT) created.
I can see that it is possible to add pictures with limited formats, such as .bmp .emf .eps .gif .jpeg .jpg .png .tif.
However, I cant find anything about to add video format, such as mp4, avi, wmv etc.
Is it possible to do this using Matlab? Could you help me with any solution?
Tks.

Respuestas (1)

Rahul Singhal
Rahul Singhal el 19 de Mayo de 2021
Hi Fabio,
Currently, the PPT API doesn't support programmatically adding a video file to a slide.
This is something the development team is aware of and is considering to support in an upcoming release.
-Rahul
  4 comentarios
Fabio Ambrosio
Fabio Ambrosio el 16 de Nov. de 2021
Editada: Fabio Ambrosio el 16 de Nov. de 2021
Yes. You need to use the actxserver() and AddMediaObject2 method in your MATLAB code.
Below is an example to add a video in AVI format on the second page of the slide:
% Create an ActiveX object
ppt = actxserver('powerpoint.application');
% Open a specific presentation
ppt.Presentations.Open('C:\Users\PATH\test\my_presentation.pptx');
% Select a slide layout
layout = ppt.ActivePresentation.SlideMaster.CustomLayouts.Item(6);
% Add a new slide on page 2 with selected layout
page = 2;
ppt.ActivePresentation.Slides.AddSlide(page, layout);
% Select a slide page
slides = ppt.ActivePresentation.Slides;
slidePage = slides.Item(page);
slidePage.Select;
videoPath = 'C:\Users\PATH\my_video.avi';
% Add video with AVI format in a specific position
video = ppt.ActiveWindow.Selection.SlideRange(1).Shapes.AddMediaObject2(videoPath, 0, -1, 160, 75,500,210);
%save presentation
ppt.ActivePresentation.Save;
I hope this help you.
Wei Sun
Wei Sun el 5 de Feb. de 2023
Editada: Wei Sun el 5 de Feb. de 2023
Any code playing that video automaticlly when entering that slide? I tried using the following code. But it is not working.
set(video.AnimationSettings.PlaySettings,'PlayOnEntry','msoTrue');
Thank you!

Iniciar sesión para comentar.

Categorías

Más información sobre MATLAB Report Generator en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by