登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

讲给自己听的故事

~~~写给未来的片言只语~~~

 
 
 

日志

 
 

从EXCEL文件中提取FLASH  

2008-08-19 00:19:00|  分类: 笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
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文件已经导出了。
  评论这张
 
阅读(123)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018