2024年5月2日发(作者:)

如何从Excel中提取Flash文件

你是否会经常下载一些在Excel或Word中嵌入了Flash游戏或短片的文件,如果你在这些

Excel或Word里看到了精美的flash游戏或短片但又不知道如何把flash提取出来的话,那

本文就能帮你大忙了,其实从Excel中提取Flash文件的方法不止一个,但有些方法比较繁

琐,现在千里眼就介绍一个最简单最实用的方法,不用软件,几步就能从Excel中提取Flash!

1. 打开想要提取flash的Excel文件,按下“Alt”+“F11”的快速键开启VB Editor。

2.然后 按“F7”键开启Code Editor。

3. 复制下列的代码并粘贴到Code Editor中。

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 = nFilename("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

Updating = 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

4. 按“F5”键执行上述的代码。

5. 在系统开启的对话框(dialog box)中选中要提取Flash的Excel文件。

6. 点击“打开”之后,系统将提示Flash文件(.swf)的所在位置。

然后就可以按路径找到文件了: