Make a presentation with actxserver without displaying the presentation
    12 views (last 30 days)
  
       Show older comments
    
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; 
0 Comments
Accepted Answer
  Cris LaPierre
    
      
 on 28 Apr 2023
        
      Edited: Cris LaPierre
    
      
 on 28 Apr 2023
  
      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));
0 Comments
More Answers (1)
  Cris LaPierre
    
      
 on 25 Apr 2023
        See this example: https://www.mathworks.com/matlabcentral/answers/1793235-axes-box-incompletely-copied-to-clipboard#answer_1040800
Changing
- h.Visible = 1;
to 
h.Visible = 0; 
should do what you want.
See Also
Categories
				Find more on Use COM Objects in MATLAB in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
