当前位置: 首页 >快乐分享>从Microsoft office excel中导入、导出flash方法

从Microsoft office excel中导入、导出flash方法

1、在excel里插入falsh

打开“视图→工具栏→控件工具箱”面板,如下图所示:

选择“其他控件”→Shockwave flash object,在工作表里画个框,会出线一个斜十字交叉的矩形框。

选中矩形框,右键→属性,填三项内容:

(1)Base:填写flash文件的全名,比如clock20.swf(文件的扩展名.swf也要写上),如果flash文件和excel文件不在相同目录下的话,还要填写flash文件的完整路径名称。

(2)Movie:填写方法与上面一致。

(3)Embedmovie:是否嵌入flash文件,选择true。OK,保存关闭EXCEL,然后重新打开就可以看到FLASH了。

有时,你可能在打开文件时,会弹出以下的对话框: 这是由于“宏”的安全级别设置太高的缘故,可以按如下方法改变“宏”的安全级别,选择:工具→宏→安全性: 在弹出的画面设置相应的安全级别:

2、导出EXCEL中的FLASH

(1)点击工具——>宏——>宏

(2)弹出一个宏创建窗体,在窗口中输入宏名(例如:宏名:ExtractFlash)点击创建按钮。

(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", , "确定要分析的 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或按“运行:按钮运行宏。

(5)弹出一个选择文件的窗口,选择你想要提取flash的excel文件,点击打开按钮。

(6)这时会弹出一个提示窗口“以……名字保存”,点击确定。

(7)在excel所在的位置会产生一个同名的flash文件。到此flash文件已经导出了。

来源:百度知道