如何改变插入PPT文档的Flash组件或者MediaPlayer组件的属性 ( 积分: 100 )

  • 主题发起人 主题发起人 plenilune168
  • 开始时间 开始时间
P

plenilune168

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Delphi7写了一个程序,是用PowerPoint组件控制PowerPoint文档。其中一个功能是插入Flash组件和MediaPlayer组件。如下代码直接插入组件没有问题:

var PPP:TPowerPointPresentation
begin
……
PPP.Windows.Item(1).Selection.SlideRange.Item(1).shapes.AddOLEObject(240,180,240,180,'ShockwaveFlash.ShockwaveFlash.1','',msoFalse,'',msofalse,'',0);

PPP.Windows.Item(1).Selection.SlideRange.Item(1).shapes.AddOLEObject(240,180,240,180,'MediaPlayer.MediaPlayer.1','',msoFalse,'',msofalse,'',0);
……
end;

但是我想改变插入组件的属性值,如Flash组件的Movie属性和MediaPlayer组件的FileName,即对应Flash文件和视频文件的路径。因为这两个组件插入到PPT中若想给文件路经赋值需要在属性里面直接输入字母而不能通过文件打开对话框选择路径。所以我想在插入组件之前先出一个打开对话框OpenDialog,选择好文件后插入的Flash组件或者MediaPlayer直接就对应选择的文件(即分别给他们的Movie属性和FileName属性赋值)。

我想过两个情况,一种是插入的代码直接就把文件路径赋进去,但是 AddOLEObject 方法好像不支持:
PPP.Windows.Item(1).Selection.SlideRange.Item(1).shapes.AddOLEObject

另一种是插入组件后改变组件的属性值,AddOLEObject方法返回的Shape对象包括一个OLEFormat,我看到VB中调用组件属性直接用“OLEFormat.Object.属性”,但是Delphi中的 OLEFormat.Object_ 是一个 IDispatch 类型,我不知道如何用?
请教各位大虾这个问题如何解决?谢谢!

var SS:Shape;
begin
SS:=PPP.Windows.Item(1).Selection.SlideRange.Item(1).shapes.AddOLEObject(……);

//SS.OLEFormat.Object_ //好像要用到这个
end;
 
我用Delphi7写了一个程序,是用PowerPoint组件控制PowerPoint文档。其中一个功能是插入Flash组件和MediaPlayer组件。如下代码直接插入组件没有问题:

var PPP:TPowerPointPresentation
begin
……
PPP.Windows.Item(1).Selection.SlideRange.Item(1).shapes.AddOLEObject(240,180,240,180,'ShockwaveFlash.ShockwaveFlash.1','',msoFalse,'',msofalse,'',0);

PPP.Windows.Item(1).Selection.SlideRange.Item(1).shapes.AddOLEObject(240,180,240,180,'MediaPlayer.MediaPlayer.1','',msoFalse,'',msofalse,'',0);
……
end;

但是我想改变插入组件的属性值,如Flash组件的Movie属性和MediaPlayer组件的FileName,即对应Flash文件和视频文件的路径。因为这两个组件插入到PPT中若想给文件路经赋值需要在属性里面直接输入字母而不能通过文件打开对话框选择路径。所以我想在插入组件之前先出一个打开对话框OpenDialog,选择好文件后插入的Flash组件或者MediaPlayer直接就对应选择的文件(即分别给他们的Movie属性和FileName属性赋值)。

我想过两个情况,一种是插入的代码直接就把文件路径赋进去,但是 AddOLEObject 方法好像不支持:
PPP.Windows.Item(1).Selection.SlideRange.Item(1).shapes.AddOLEObject

另一种是插入组件后改变组件的属性值,AddOLEObject方法返回的Shape对象包括一个OLEFormat,我看到VB中调用组件属性直接用“OLEFormat.Object.属性”,但是Delphi中的 OLEFormat.Object_ 是一个 IDispatch 类型,我不知道如何用?
请教各位大虾这个问题如何解决?谢谢!

var SS:Shape;
begin
SS:=PPP.Windows.Item(1).Selection.SlideRange.Item(1).shapes.AddOLEObject(……);

//SS.OLEFormat.Object_ //好像要用到这个
end;
 
好,帮顶



--------签名档---------------------------

比肩国内顶尖源码下载站点 -> 源码我爱你

http://www.source520.com
http://www.source520.net

80G源码电子书免费免注册下载,大量精辟技术文档库随时更新
******************************************************************
附:为了站点持续发展,现有本站近年来收藏的大量大型商业源码低价出售,
详情请进入以下链接查看:
http://www.source520.com/building_delphi.htm

浏览商业代码请从如下URL进入查看实物:
1.商业源码库1: ftp://source520see3:browse@61.152.199.245/
2.商业源码库2: ftp://source520see2:browse@61.152.199.245/
 
plenilune168老兄,我是前天你给我写了个SQL Server函数的,现在你的函数有点问题,就是数据多的时候查找很慢,你能帮我优化优化吗?
以下是我问题的贴子
http://delphibbs.com/delphibbs/dispq.asp?lid=3289363
 
后退
顶部