PPT中的flash动画(.swf文件)问题

2020-03-26T10:36:00
常见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环境,安装过程需要比较长时间。
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »