PPT中的flash动画(.swf文件)问题
常见flash动画文件扩展名为:.swf
PPT中如何插入swf文件?
- 插入→对象→Shockwave Flash Object
- 开发工具→其他控件→Shockwave Flash Object
PPT中无法显示/播放flash动画怎么办?
一般情况:电脑中未安装Adobe Flash Player控件
解决办法:下载安装Adobe Flash Player即可
[btndown href="http://get.adobe.com/falshplayer"]点此下载安装Adobe Flash Player[/btndown]
最好用IE浏览器下载适用于IE版的flash
特殊情况:已安装控件仍无法运行flash动画
此情况一般出现在Win10系统以及Office 2016以上版本中
解决办法:修改注册表
[btndown href="https://gallery.technet.microsoft.com/scriptcenter/Registry-keys-to-reenable-7cd9f723/file/206278/1/EnableControls.zip"]点此下载注册表项程序包[/btndown]
下载后直接双击运行压缩包里的文件即可
如何导出嵌入到PPT中的swf文件?
将swf文件复制到Excel中,按下图操作:
相关代码如下:
Sub ExtractFlash()
Dim tmpFileName As String, FileNumber As Integer
Dim myFileId As Long
Dim myArr() As Byte
Dim i As Long
Dim MyFileLen As Long, myIndex As Long
Dim swfFileLen As Long
Dim swfArr() As Byte
tmpFileName = Application.GetOpenFilename("officeFile(*.doc;*.xls),*.doc;*.xls", , "確定要分析的 Office 文档")
If tmpFileName = "False" Then Exit Sub
myFileId = FreeFile
Open tmpFileName For Binary As #myFileId
MyFileLen = LOF(myFileId)
ReDim myArr(MyFileLen - 1)
Get myFileId, , myArr()
Close myFileId
Application.ScreenUpdating = False
i = 0
Do While i < MyFileLen
If myArr(i) = &H46 Then
If myArr(i + 1) = &H57 And myArr(i + 2) = &H53 Then
swfFileLen = CLng(&H1000000) * myArr(i + 7) + CLng(&H10000) * myArr(i + 6) + CLng(&H100) * myArr(i + 5) + myArr(i + 4)
ReDim swfArr(swfFileLen - 1)
For myIndex = 0 To swfFileLen - 1
swfArr(myIndex) = myArr(i + myIndex)
Next myIndex
Exit Do
Else
i = i + 3
End If
Else
i = i + 1
End If
Loop
myFileId = FreeFile
tmpFileName = Left(tmpFileName, Len(tmpFileName) - 4) & ".swf"
Open tmpFileName For Binary As #myFileId
Put #myFileId, , swfArr
Close myFileId
MsgBox "以" & tmpFileName & "名字保存!"
End Sub
如何重新编辑(反编译)flash动画(swf文件)?
flash是个成品的文件格式,一般是不能再编辑修改的。不过小的改动是可以的做到的,比如修改里面的文字什么的。
解决办法:使用免费开源的软件JPEXS Free Flash Decompiler
[btndown href="https://github.com/jindrapetrik/jpexs-decompiler/releases"]点此下载JPEXS Free Flash Decompiler[/btndown]
需要安装Java环境,安装过程需要比较长时间。