Make a presentation with actxserver without displaying the presentation

11 次查看(过去 30 天)
Hello,
I am using the actxserver() method to make PowerPoint presentations from Matlab. Is it possible to create/ open a presentation without displaying the presentation (similar to invisable figures)? I am using the following code (a method within a class):
The Visible property throws an error.
actXserver = actxserver('PowerPoint.Application'); %Create an ActiveX object
%actXserver.Visible = 0; -> Does not work...
obj.actserverPP_1 = actXserver;
actXinterface = actXserver.Presentation.Open( fullfile(obj.templatePath_1, obj.templateName_1) ); %Open an existing presentation by supplying the fullpath to the file
obj.presentationInterface_1 = actXinterface;

采纳的回答

Cris LaPierre
Cris LaPierre 2023-4-28
编辑:Cris LaPierre 2023-4-28
It seems the current way to do this in VBA code would use the following syntax
You can set WithWindow to false, which means the file that is opened will not be visible.
The following code worked for me. Note that you must include the full path to the presentation.
h = actxserver('PowerPoint.Application'); %Create an ActiveX object
pres = h.Presentations.Open(fullfile(path,ppt),0,0,0));

更多回答(1 个)

Cris LaPierre
Cris LaPierre 2023-4-25
Changing
  • h.Visible = 1;
to
h.Visible = 0;
should do what you want.
  1 个评论
jr1995
jr1995 2023-4-28
Using h.Visible = 0 causes the following error:
---------------
Invoke Error, Dispatch Exception:
Source: Microsoft PowerPoint
Description: Application.Visible : Invalid request. Hiding the application window is not allowed.
Help File:
Help Context ID: 0
Error in class_BasicPresentation_main_v01/makePresentation (line 29)
h.Visible = 0; %-> Does not work...
Error in timeseriesanalyze_v03_mod_VWGS (line 162)
presentation.makePresentation
---------------
Any suggestions?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Use COM Objects in MATLAB 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by