DELPHI程序如何向POWERPOINT中添加FLASH动画 ( 积分: 200 )

  • 主题发起人 主题发起人 linghu_c
  • 开始时间 开始时间
L

linghu_c

Unregistered / Unconfirmed
GUEST, unregistred user!
请教:用DELPHI程序如何向POWERPOINT中添加FLASH动画?
 
请教:用DELPHI程序如何向POWERPOINT中添加FLASH动画?
 
关注,估计很少有人做过这个,帮你顶一下.
 
和Word的方法一样,自己去录制宏,然后添加

ActiveWindow.Selection.SlideRange.Shapes.AddOLEObject(Left:=120#, Top:=110#, Width:=480#, Height:=320#, FileName:="C:/新建 Microsoft Word 文档.doc", Link:=msoFalse).Select

---------------------------- 以下转自帮助,如果有些参数可以为空,就设置EmptyParam就可以了,如果还有问题,留下QQ,至于怎么使用ole,参考那个execl的例子
http://www.delphibbs.com/delphibbs/dispq.asp?LID=759711
标题: Delphi5 控制 Excel2000 心得 (0分)

AddOLEObject 方法
请参阅 应用于 示例 特性
创建 OLE 对象。返回一个代表新 OLE 对象的 Shape 对象。

expression.AddOLEObject(Left, Top, Width, Height, ClassName, FileName, DisplayAsIcon, IconFileName, IconIndex, IconLabel, Link)

expression 必选。该表达式返回一个 Shapes 对象。

Left, Top 可选。Float 类型。新对象左上角相对于幻灯片左上角的位置,以磅为单位。默认值为 0(零)。

Width, Height 可选。Float 类型。OLE 对象的初始尺寸,以磅为单位。

ClassName 可选。String 类型。OLE 长类名或要创建对象的 ProgID。必须为该对象指定 ClassName 或 FileName 参数,但不能同时指定两个。

FileName 可选。String 类型。创建对象所依据的文件。如果未指定路径,则使用当前工作文件夹。必须为该对象指定 ClassName 或 FileName 参数,但不能同时指定两个。

DisplayAsIcon 可选。MsoTriState 类型。决定是否将 OLE 对象显示为图标。

MsoTriState 可以是下列 MsoTriState 类型常数之一。
msoCTrue
msoFalse 默认。
msoTriStateMixed
msoTriStateToggle
msoTrue 将 OLE 对象显示为图标。

IconFileName 可选。String 类型。包含要显示的图标的文件。

IconIndex 可选。Integer 类型。IconFileName 中的图标索引。指定文件中的图标顺序对应于图标在“更改图标”对话框(选中“显示为图标”复选框时,从“插入对象”对话框访问)中显示的顺序。文件中第一个图标的索引序号是 0(零)。如果 IconFileName 中不存在给定索引序号的图标,则使用索引序号为 1 的图标(文件中的第二个图标)。默认值为 0(零)。

IconLabel 可选。String 类型。要在图标下显示的标签(标题)。

Link 可选。MsoTriState 类型。决定是否将 OLE 对象链接到创建该对象的文件。如果已指定 ClassName 的值,此参数必须是 msoFalse 类型。

MsoTriState 可以是下列 MsoTriState 类型常数之一。
msoCTrue
msoFalse 默认。使 OLE 对象成为独立复的制文件。
msoTriStateMixed
msoTriStateToggle
msoTrue 将 OLE 对象链接到创建该对象的文件。

示例
本示例将一篇具有链接的 Word 文档添加到 myDocument。

Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes.AddOLEObject Left:=100, Top:=100, _
Width:=200, Height:=300, _
FileName:="c:/my documents/testing.doc", Link:=msoTrue
本示例将一个新 Microsoft Excel 工作表添加到 myDocument。该工作表将显示为图标。

Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes.AddOLEObject Left:=100, Top:=100, _
Width:=200, Height:=300, _
ClassName:="Excel.Sheet", DisplayAsIcon:=True
本示例将一个命令按钮添加到 myDocument。

Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes.AddOLEObject Left:=100, Top:=100, _
Width:=150, Height:=50, ClassName:="Forms.CommandButton.1"
 
谢谢chenybin和踏浪99
我用AddOLEObject方法,却只能作为一个包打入PPT中,另外PowerPointSlide1.Shapes.AddOLEObject中参数不能用EmptyParam,会报'Invalid variant type conversion'错误,是不是我用的不对?
如果按下面方式写插入的是一个包对象,能不能插入一个FLASH控件?
Shapes.AddOLEObject(100,180,150,150,'','C:/6.swf',msoFalse,'',0,'',msoTrue);
 
函数原型如下

function AddOLEObject(Left: Single; Top: Single; Width: Single; Height: Single;
const ClassName: WideString; const FileName: WideString;
DisplayAsIcon: MsoTriState; const IconFileName: WideString;
IconIndex: SYSINT; const IconLabel: WideString; Link: MsoTriState): Shape; safecall;

楼主可以到Delphi的ocx/Servers目录找MSPpt2000.pas单元(根据系统情况名字可能不同)
就可以看到函数原型了,然后怎么做楼主应该知道了吧
------------------------
本帖回答完毕,如有问题,留下联系方式
 
powerpoint中插入flash动画的方法:http://www.pconline.com.cn/pcedu/soft/office/ppt/0312/253098.html
录制宏再翻成delphi语句就可以了。注意ppt的版本不同参数会不一致。
 
多人接受答案了。
 
后退
顶部