![【VB.NET】提取PPT中的SWF[多图]图片1](/img/2009-12-27/20091227865536462.jpeg)
图片看不清楚?请点击这里查看原图(大图)。'这几天在网上看到了一些提取PPT内SWF的要领
,于是编程实现了一下。其他的几种OFFICE文件内嵌后基本都可以用另存网页的方式处理
。。。。。
'思路是这样的:
'1、通过PPT的COM对象,遍历幻灯片内容并把找到的内嵌SWF控件复制到剪贴板
'2、访问剪贴板对象,提取其中的嵌入对象内容得到一个流
'3、处理这个流前面的多余部分,并保存为文件
'还存在一些疑问
:
'1、假如
只有控件,而没有SWF被嵌入,不知晓
代码会得到如何
样的结果
经过协商,得到了一个比较满意的结果。。。公开部分代码和软件。但请遵循程序的协议~~~~~~
请留心
,这里所提到的“内嵌”,指将SWF文件内置于OFFICE文件中,即在设计文档时将Flash AX控件的Embed Move属性配置
为True。
![【VB.NET】提取PPT中的SWF[多图]图片2](/img/2009-12-27/20091227865571149.jpeg)
图片看不清楚?请点击这里查看原图(大图)。
然后保存文件。若要在excel中观看到动画,请退出设计模式(点那个三角板、铅笔、直尺组成的图标使之处于非选中状态)。
而后是编码了,最先
是一个总体的调用方式:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim file As New OpenFileDialog
file.Filter = "*.XLS*.XLS"
file.ShowDialog()
If file.FileName <> "" Then
AddHandler MSExcel.Progress, AddressOf Progress
MSExcel.GetSWFFile(file.FileName)
RemoveHandler MSExcel.Progress, AddressOf Progress
End If
End Sub
Private Sub Progress(ByVal Msg As String)
lstMsg.Items.Add(Msg)
End Sub