从excel中导出flash解决方法-沙耔博客

也许你经常收到朋友转发的Flash小游戏,遗憾的是这些小游戏嵌入到Word、Excel或者PowerPoint等Office文档中。如果你要把这样的游戏发布到网页里让其他人来玩的话,你就需要将文档里面的flash文件给想办法抠出来或者是导出来。本以为可以从菜单中找到办法将其另存出来,多次努力均告失败。那么要怎样才能将其中的Flash文件给抓取出来并保存为swf文件呢?

方法一、找到swf(flash动画)的地址用软件下载

打开包含flash的文档,查看flash的属性,找到flash的原地址,如果是网址的话直接用下载工具下在即可。如果你找不到flash的源地址那么就试试方法二吧。

方法二、运用“宏”导出flash文件

1. 点击工具——>宏——>宏
2. 弹出一个宏创建窗体,在窗口中输入宏名(例如:宏名:ExtractFlash)点击创建按钮。
3. 弹出一个编程界面,在界面的中间有一个小窗口,在窗口中输入下面的程序段。
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("office File(*.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
4. 按F5运行宏。
5. 弹出一个选择文件的窗口,选择你想要提取flash的excel文件,点击打开按钮。
6. 这时会弹出一个提示窗口“以。。。。名字保存”,点击确定。
7. 在excel所在的位置会产生一个同名的flash文件。到此flash文件已经导出了。

方法三、另存为网页,选择全部内容,然后到保存的目录下去寻找swf文件

方法四、借助外来软件UltraEdit32修改片段

1、首先你要先安装好UltraEdit32编辑器。
2、打开含有Flash的Word或excel文件,点击“视图”-“工具栏”-“控件工具箱”的“设计模式”按钮进入设计模式,选择Word中的Flash,复制粘贴到本地任意文件夹,会看到一个“片段”文件。
3、打开UltraEdit32,将该“片段”文件拉到UltraEdit32中,按Ctrl+F或者点击菜单搜索-查找,在出现的搜索栏输入“465753”,把搜索到的“465753”中的“4”位置以上的数据全部删掉.(在4之前,点着左健不放,用鼠标一直拉到最前面,选了4之前的全部数据后,然后按Delete健,Del无效的就用Ctrl+x)。
4、再将文件别存为1.swf。
5、用flash播放器打开,能够看到提取出来的Flash即可。