寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、Office办公、随笔等内容。

利用宏从Word、Excel中提取Flash

今天网上弄到个flash游戏,感觉挺不错的,但是flash被嵌在了excel中,想单独保存出来。百度了一下找到如下宏代码可以实现。
Sub CollectFlashFromExcel()
'
'
' http://huikon.cn
'

'
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

 

 打开(或新建)一个excel文档,将上述代码输入宏试图中,然后运行,再代开含有flash的excel或word文档就能将flash文档的从word、Excel中提取出来了。

Office 2010-02-26 17:08:50 1 0 6230 officeflashwordexcel
文章写得不错?我是土豪我要在线打赏!
在线打赏

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
Excel文件内容很少,但文件很大,打开很慢、很卡怎么办?
Excel动态引用各表格指定单元格数据
开篇第一章
Excel文件内容很少,但文件很大,打开很慢怎么办?
如何利用python修改文件的创建时间,修改时间,访问时间
发现一个好网站——春燕文档
Ubuntu22.04中用thunar替换默认文件管理器,提示无法启动“TerminalEmulator“的首选应用程序
MySQL如何按每个分类查询10条数据,即MySQL如何每个分类查询10条数据
文章推荐
请不要奇怪,为什么最近博客的文章是几年前的内容
免责声明
关于博主
开篇第一章
随机推荐
动易系统的数据库连接出错,请检查Conn.asp文件中的数据库参数设置解决方案。
这只是一个测试日志
mysql数据库表A中某列update更新至表B中某列
我也发个飞信API接口发飞信短消息。
推荐一款图片exif修改软件PowerExif
去掉windowsxp桌面快捷方式小箭头
WAP写博客测试
突然没了电话会咋样?
想说点什么
这个flash太有才了,不得不佩服制作者的想象力。。。。超级强悍的计算机病毒。呵呵。
友情连接
春燕网络
春燕文档
谢润的博客