目的:写一段代码,使之能够播放powerpoint!!!
谁有思路或是代码,谢谢了!!!
谁有思路或是代码,谢谢了!!!
解决方案 »
- DBGridEh绑定字段的情况下,如何触发OnDrawDataCell事件?
- fastrepoet的两个问题!
- 如何把多个单sheet的excel合并成一个多sheet的excel,高分求教!
- 如何得到按钮的caption名呢。
- 关于接口与类型转换的问题。 200506
- d7怎么调用webserver
- 刚接触Delphi,想知道Delphi7里面重载方法怎么个弄法
- 如何将实例化的类传给一个过程?在线等....
- 如何将程序1的参数传递给程序2
- delphi 调用createoleObject('Excel.Application'),服务器运行失败
- 为什么这里的帖子变这么少了?
- 关于DELPHI6连接ORACLE8i数据库的错误!
var SWindow:SlideShowWindow;
begin
PowerPointApplication1.Connect;
PowerPointApplication1.Visible := 1;
PowerPointApplication1.Presentations.Open('d:\22.ppt',msofalse,msotrue,msotrue);
with PowerPointApplication1.Presentations.Item(1) do
begin
SlideShowSettings.AdvanceMode := ppSlideShowUseSlideTimings;
SlideShowSettings.LoopUntilStopped := msoTrue;
SWindow := SlideShowSettings.Run;
Form1.SetFocus;
end;
end;
谢谢,可是我想要的不是打开一个新的ppt,而是要让ppt在form里播放,或者,至少能在form里预览到第一页,可以吗?
还有谁有好的办法,谢谢!!!
WebBrowser1.Navigate('a.ppt');现在又有新问题,当打开ppt时会询问“保存还是打开?”,怎样让程序自动选择“打开”?
begin
OleContainer1.CreateLinkToFile('d:\a.ppt',false);
end;
=============================
在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;