提取Word、Excel里的flash文件 | 寒山烟雨
现在的位置: 首页 > 滴水穿石 > 正文

提取Word、Excel里的flash文件

2011年12月23日 滴水穿石 ⁄ 共 988字 ⁄ 字号 评论 2 条 ⁄ 阅读 3,611 views 次

打开一个Excel,在视图页面创建一个宏如下
Sub aa() 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 & "名字保存" End Sub
F5运行宏,选择文件,即可在文件当前目录保存swf文件

0
【上篇】
【下篇】

目前有 2 条留言    访客:2 条, 博主:0 条

  1. 横坐标 2012年01月01日 下午4:38  @回复  Δ-49楼 回复
    Firefox Firefox Windows Windows

    楼主,2012了,新年快乐

  2. 冷轩信 2011年12月24日 上午11:39  @回复  Δ-48楼 回复
    ChromePlus ChromePlus Windows Windows

给我留言

留言无头像?


×