做了个report,有一份report的使用说明,写在ppt里我想按钮触发,在form上播放ppt,怎样实现阿,我用TOLEContainer实现,双击TOLEContainer添加ppt之后,只是把ppt图标加上了,然后双击时,会另外打开ppt,还有别的方法么
TPowerPointApplication怎么用啊

解决方案 »

  1.   


    在delphi6下用Server中的   TPowerPointApplication和TPowerPointPresentation,可以
    对PowerPoint进行操作.当然你也可以用CreateOleObject('PowerPoint.application')对
    PowerPoint进行操作.下面是一段试验代码,其中
       pptA: TPowerPointApplication;
       pptP: TPowerPointPresentation;
    另外两个对象是
      ssSet: SlideShowSettings; 用于设置幻灯片的放映属性
      ssWin: SlideShowWindow;  用于播放幻灯片的控制
    ssWin有一个成员对象View可以控制幻灯片放映First,Next,Previous,Last,以及停止
    放映Exit,这样的话就可以控制循环播放次数了.
    ========================================================
    var
      ssSet: SlideShowSettings;
      ssWin: SlideShowWindow;procedure TForm1.Button1Click(Sender: TObject);
    var
      i: integer;
    begin
      pptA := TPowerPointApplication.Create(self);
      pptA.Visible := msoTrue;
      PPtP.ConnectTo(pptA.Presentations.Open('e:\sy\study\sample\test.ppt', msoFalse, msoFalse, msoTrue));
      ssSet := PPtP.SlideShowSettings;
      ssSet.LoopUntilStopped := msoFalse;
      ssSet.ShowType := ppShowTypeSpeaker;
      ssSet.Run;
      ssWin := PPtP.SlideShowWindow;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      ssWin.View.Next;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      ssWin.View.Exit;
    end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      try
        pptA.Disconnect;
        pptA.Quit;
        if assigned(pptA) then pptA.Free;
      except
        showmessage('PowerPoint has already closed!');
      end;
    end;procedure TForm1.Button4Click(Sender: TObject);
    begin
      try
        pptA.Disconnect;
        pptA.Quit;
        if assigned(pptA) then pptA.Free;
      except
        showmessage('PowerPoint has already closed!');
      end;
    end;
      
    在网上找了一段这样的代码PPtP.ConnectTo(pptA.Presentations.Open('e:\sy\study\sample\test.ppt', msoFalse, msoFalse, msoTrue));
    这一句报错:
    Presentations(unknown member):Invalid reqest The PowerPoint Frame window does not exist
      

  2.   

    ppt,太无语了啦,搞了个把星期还是一“杯具”。。