Kylix
Tips

NEW TIPS
Database (135)
Files (612)
Forms (606)
Graphic (536)
IDE (456)
Indy (433)
Internet / LAN (590)
IntraWeb (443)
Kylix (447)
Math (561)
Misc (591)
Multimedia (496)
Objects/
ActiveX (503)

OpenTools API (438)
Printing (459)
Strings (583)
System (721)
VCL (586)

Search Tip
Top15
Add new Tip

Forum

...control Powerpoint with OLE-Automation?
Author: Thomas Stutz
[ Print tip ]    

Tip Rating (12):  
     



uses
  
comobj;
  
procedure TForm1.Button2Click(Sender: TObject);
var
  
PowerPointApp: OLEVariant;
begin
  try
    
PowerPointApp := CreateOleObject('PowerPoint.Application');
  except
    
ShowMessage('Error...');
    Exit;
  end;
  // Make Powerpoint visible
  
PowerPointApp.Visible := True;

  // Show powerpoint version
  
ShowMessage(Format('Powerpoint version: %s',[PowerPointApp.Version]));

  // Open a presentation
  
PowerPointApp.Presentations.Open('c:\MyPresentation.ppt', False, False, True);

  // Show number of slides
  
ShowMessage(Format('%s slides.',[PowerPointApp.ActivePresentation.Slides.Count]));

  // Run the presentation
  
PowerPointApp.ActivePresentation.SlideShowSettings.Run;

  // Go to next slide
  
PowerPointApp.ActivePresentation.SlideShowWindow.View.Next;

  // Go to slide 2
  
PowerPointApp.ActivePresentation.SlideShowWindow.View.GoToSlide(2);

  // Go to previous slide
  
PowerPointApp.ActivePresentation.SlideShowWindow.View.Previous;

  // Go to last slide
  
PowerPointApp.ActivePresentation.SlideShowWindow.View.Last;

  // Show current slide name
  
ShowMessage(Format('Current slidename: %s',[PowerPointApp.ActivePresentation.SlideShowWindow.View.Slide.Name]));
  
  // Close Powerpoint
  
PowerPointApp.Quit;
  PowerPointApp := UnAssigned;
end;


Rate this tip:

poor
very good


Copyright © Torry's Delphi Pages Torry's Delphi Pages Maintained by Simon Grossenbacher Notes? Comments? Feel free to send... Copyright © 1996-2001