从Excel中提取Flash文件的方法
2011-06-30 09:14
453 查看
今天收到一个Excel文件,里面内嵌精美的Flash动画.
经过查阅资料,找到了把Flash从Excel中提取的办法.步骤如下:
1.打开Excel软件
2.选"工具"---"宏"----"宏..."
3.取一个宏名,然后点"创建",出现包含二条语句的代码框
4.在上面的二条语句之间,输入以下的代码:
Dim tmpFileName As String
Dim FileNumber As Integer
Dim myFileId As Long
Dim MyFileLen As Long
Dim myIndex As Long
Dim swfFileLen As Long
Dim i As Long
Dim swfArr() As Byte
Dim myArr() As Byte
tmpFileName = Application.GetOpenFilename("MS Office File (*.doc;*.xls), *.doc;*.xls", , "Open MS Office file")
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 "Save the extracted SWF Flash as [ " & tmpFileName & " ]"
5.做好第4步后,按F5
6.通过出现的对话框,找到包含flash的Excel文件,点"打开"
7.出现一个对话框,点OK
此时Flash文件就提取出来了,与先前Excel文件在同一个位置
经过查阅资料,找到了把Flash从Excel中提取的办法.步骤如下:
1.打开Excel软件
2.选"工具"---"宏"----"宏..."
3.取一个宏名,然后点"创建",出现包含二条语句的代码框
4.在上面的二条语句之间,输入以下的代码:
Dim tmpFileName As String
Dim FileNumber As Integer
Dim myFileId As Long
Dim MyFileLen As Long
Dim myIndex As Long
Dim swfFileLen As Long
Dim i As Long
Dim swfArr() As Byte
Dim myArr() As Byte
tmpFileName = Application.GetOpenFilename("MS Office File (*.doc;*.xls), *.doc;*.xls", , "Open MS Office file")
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 "Save the extracted SWF Flash as [ " & tmpFileName & " ]"
5.做好第4步后,按F5
6.通过出现的对话框,找到包含flash的Excel文件,点"打开"
7.出现一个对话框,点OK
此时Flash文件就提取出来了,与先前Excel文件在同一个位置
相关文章推荐
- 提取Excel、Word、PPT文件中的Flash文件的两种方法
- 提取Excel、Word、PPT文件中的Flash文件的两种方法
- 提取Excel、Word、PPT文件中的Flash文件的两种方法
- 提取Excel、Word、PPT文件中的Flash文件的两种方法
- python3读取excel文件只提取某些行某些列的值方法
- 如何提取导出word、excel中的flash文件
- asp.net导出excel文件方法之一
- (原创)关于如何处理EXCEL( CSV)文件 导入数据库的解决方法!!
- 打开 Excel文件, Excel不显示窗口来,还要在Excel文件中再提取一次才能显示出来
- Windows Server 2008下Microsoft Office Excel 不能访问文件解决方法
- jxl读取excel文件异常:Unable to recognize OLE stream 的解决方法
- EXCEL打开CSV文件乱码的解决方法
- 从exe驱动安装文件中提取sys和inf等驱动文件的方法
- CI中在Linux服务器下面实现文件导出Excel的方法解决方案
- MVC 使用FileStreamResult方法的下载excel和word文件问题
- .NET 中一种将DataTable表下载到本地Excel文件方法
- 如何用C#提取Word、Excel等文件的文本(无需安装Office)
- Java 下载文件(如Excel)文件名中文乱码或缺失解决方法
- C#导出数据到CSV和EXCEL文件时,过长的数值被转义的解决方法
- 导出数据到CSV和EXCEL文件,过长的数值被转义的解决方法