如何从word、excel、ppt中提取flash文件?

本文介绍了一种从PowerPoint(PPT)文件中提取嵌入式Flash文件的方法。该方法适用于XP和Windows 7操作系统。具体步骤包括使用Word文档作为载体、通过Excel中的VBA脚本来解析并提取.swf格式的Flash文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此方法在xp、window7下具有效果。

假设你要提取的flash在ppt中:

1、新建一个word文档(后缀是.doc,而不是.docx)

2、将待提取的ppt中的flash文件复制到步骤1中所建的word文档中。建议一个flash文件一个文档。

3、新建一个excel文档,快捷键[ALT+f11]调用出【Microsoft Visual Basic for Application】窗口

image

4、按快捷键[F7],调用出【代码窗口】。粘贴如下代码

image

5、按快捷键【F5】,运行。

image

6、步骤5会弹出一个窗口,让你选择文件,那么你就可以选择步骤2中的那个word文档。

7、完成步骤6后,就将你要提取的flash文件弄出来了。

image

image

 

 

Sub ExtractFlash()

Dim tmpFileName As String
Dim FileNumber As Integer
Dim myFileId As Long
Dim MyFileLen As Long
Dim myIndex As Long
Dim swfFileLen As Long
Dim i As Long
Dim swfArr() As Byte
Dim myArr() As Byte

tmpFileName = Application.GetOpenFilename("MS Office File (*.doc;*.xls), *.doc;*.xls", , "Open MS Office file")

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 "Save the extracted SWF Flash as [ " & tmpFileName & " ]"

End Sub

转载于:https://www.cnblogs.com/leamiko/archive/2013/01/27/2879005.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值