在ppt中嵌入swf文件的方法大家可能都比較熟悉,感覺比較簡單,但如果偶爾遇到一個(gè)ppt里面有好的swf文件,想單獨(dú)提取保存下來卻不是一件容易事情。
網(wǎng)上能搜到的方法大概有這么幾種:
①利用UltraEdit-32軟件進(jìn)行提取,相對(duì)比較復(fù)雜,需要安裝新的軟件,新手不易操作;
②用flash吸血鬼,把ppt里的swf吸出來,同樣要安裝軟件,費(fèi)時(shí)費(fèi)力,根據(jù)我的經(jīng)驗(yàn),有時(shí)不一定成功;
③使用PPT文件Flash提取器來提取,具體方法我曾在k12地理論壇介紹過,也比較麻煩,還有一個(gè)致命缺陷就是只適用于xp系統(tǒng),對(duì)于vista、windows 
7等系統(tǒng)無法使用,因?yàn)樵谶@兩個(gè)系統(tǒng)下無法成成片段*.shs文件;
④至于網(wǎng)上其他的說法比如另存為網(wǎng)頁格式文件等,純粹騙人,根本行不通。
今天給大家介紹一種簡單、實(shí)用的方法,僅利用電腦上的excel就可以實(shí)現(xiàn),因此對(duì)于絕大多數(shù)用戶而言,不需要再安裝軟件,如果你連excel也沒裝的話,我就沒話說了。
我用的是office 
2010,以此為例講解。新建一個(gè)excel文檔,在“開發(fā)工具”選項(xiàng)卡下面單擊“vb”按鈕,進(jìn)入編程狀態(tài),單擊“插入”菜單下的“模塊”命令,在彈出的窗口中粘貼下面代碼:
 
 
 
1.jpg
 
 
 
2.jpg
 
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
粘貼好了以后返回到excel主界面,把該excel文檔起一個(gè)你容易辨識(shí)的名字,保存為“啟用宏的工作簿”,留著用來提取swf文件。
打開嵌入了swf文件的ppt,在swf文件上右鍵單擊,選擇復(fù)制,新建一個(gè)excel文件,在新建的excel文件里右鍵“粘貼”,把ppt里的swf文件復(fù)制過來,起個(gè)名字,保存為excel 
97—2003工作薄(這里面的版本選擇很重要,不要選錯(cuò)),保存好了關(guān)閉該excel。
打開我們第一個(gè)粘貼有代碼的excel文檔,在“開發(fā)工具”下,單擊“宏”,彈出宏對(duì)話框,單擊“執(zhí)行”,在打開的窗口中選擇粘貼有swf文件的excel文件,大功告成,里面的swf馬上就會(huì)被提取出來,不信,你試試!
 
 
 
3.jpg提取嵌入PPT中的SWF文件
 
在ppt中嵌入swf文件的方法大家可能都比較熟悉,感覺比較簡單,但如果偶爾遇到一個(gè)ppt里面有好的swf文件,想單獨(dú)提取保存下來卻不是一件容易事情。
網(wǎng)上能搜到的方法大概有這么幾種:
①利用UltraEdit-32軟件進(jìn)行提取,相對(duì)比較復(fù)雜,需要安裝新的軟件,新手不易操作;
②用flash吸血鬼,把ppt里的swf吸出來,同樣要安裝軟件,費(fèi)時(shí)費(fèi)力,根據(jù)我的經(jīng)驗(yàn),有時(shí)不一定成功;
③使用PPT文件Flash提取器來提取,具體方法我曾在k12地理論壇介紹過,也比較麻煩,還有一個(gè)致命缺陷就是只適用于xp系統(tǒng),對(duì)于vista、windows 
7等系統(tǒng)無法使用,因?yàn)樵谶@兩個(gè)系統(tǒng)下無法成成片段*.shs文件;
④至于網(wǎng)上其他的說法比如另存為網(wǎng)頁格式文件等,純粹騙人,根本行不通。
今天給大家介紹一種簡單、實(shí)用的方法,僅利用電腦上的excel就可以實(shí)現(xiàn),因此對(duì)于絕大多數(shù)用戶而言,不需要再安裝軟件,如果你連excel也沒裝的話,我就沒話說了。
我用的是office 
2010,以此為例講解。新建一個(gè)excel文檔,在“開發(fā)工具”選項(xiàng)卡下面單擊“vb”按鈕,進(jìn)入編程狀態(tài),單擊“插入”菜單下的“模塊”命令,在彈出的窗口中粘貼下面代碼:
 
 
 
1.jpg
 
 
 
 
2.jpg
 
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
粘貼好了以后返回到excel主界面,把該excel文檔起一個(gè)你容易辨識(shí)的名字,保存為“啟用宏的工作簿”,留著用來提取swf文件。
打開嵌入了swf文件的ppt,在swf文件上右鍵單擊,選擇復(fù)制,新建一個(gè)excel文件,在新建的excel文件里右鍵“粘貼”,把ppt里的swf文件復(fù)制過來,起個(gè)名字,保存為excel 
97—2003工作?。ㄟ@里面的版本選擇很重要,不要選錯(cuò)),保存好了關(guān)閉該excel。
打開我們第一個(gè)粘貼有代碼的excel文檔,在“開發(fā)工具”下,單擊“宏”,彈出宏對(duì)話框,單擊“執(zhí)行”,在打開的窗口中選擇粘貼有swf文件的excel文件,大功告成,里面的swf馬上就會(huì)被提取出來,不信,你試試!