从Word、Excel中提取Flash

从Word、Excel中提取Flash

眼下有不少好玩的小游戏都是嵌入Word、Excel中的,实际上游戏本身只是flash(.swf)文件。很多朋友想把文档里的flash文件提取出来,但苦于没有好的办法。对于doc、xls文件,如果其中嵌入了图片,我们可以通过“文件”→另存为→“网页文件”命令把图像提取出来,但这个办法对于提取flash无效!

其实办法还是有的。现在就提供两种解决办法:

办法一:

1、下载一款16进制编辑工具WinHex,并安装。
2、打开含有Flash的Word文档,点击“控件工具箱”的“设计模式”按钮进入设计模式,选择Word中的Flash,复制粘贴到任意文件夹(或者右键选择,复制,粘帖到任意文件夹,前提是可以右键选择并能弹出包含“复制”的右键菜单),会看到一个“片段”文件。
3、打开WinHex,将该“片段”文件拉到WinHex中,单击下拉菜单“搜索”→“查找16进制值”,搜索“465753”,在搜索到的“465753”中的“4”位置上单击右键,选择“选块开始”。
4、继续“搜索”→“查找16进制值”,搜索“3A5C”,然后按住F3,直到出现“3A5C未找到”,点击“是”,在最后搜索到的“3A5C”中“C”位置上单击右键,选择“选块结尾”。(注:少数情况可能会搜索不到“3A5C”,则改为搜索“3A”或“5C”,方法相同)。
5、在选块内任意处点击右键→编辑→复制选块→进入新文件→输入文件名 (如×××.swf) →保存,OK。

办法二(此法对绝大多数文件有效):

1、任意打开一个excel文件(word不行!)
2、点工具→宏→宏→在“宏名”下输入名字(如gettFlash,不可以是数字);
3、点右边“创建”按钮,弹出一个宏编辑界面→把下面的代码拷贝进自动生成的两行代码之间;

'从下面一行开始,不包括本行——————


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", , "请选择一个包含Flash的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 & "名字保存"

'到上面一行结束,不包括本行——————

4、点击本代码窗口工具栏中的“运行”按钮(或按F5)→弹出打开窗口→选择要提取flash的文件,可以是excel文件,也可以是word文件;
5、会弹出提示:“以××名字保存”。提取成功。
6、在源文件同一路径下生成同名的swf文件,即Flash文件。

当然,也可以保存编写的宏文件便于以后使用。点保存按钮保存。以后再使用时,打开此文件,依次转到“工具”→“宏”→“宏”→选择宏的名字→执行→重复以上4-6的步骤即可。

-------------------------------------------------------------------------------------------------------------------

转载自http://apps.hi.baidu.com/share/detail/47660397

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值