Search This Blog

Thursday, January 22, 2009

Extract Flash(SWF) Files From Excel

You Can Extract Swf Flash Files From Excel By Using A Simple VBA(Visual Basic Application)Program.

This VBA Guide Has Been Tested In Office 2003 Professional & Office 2007,

  1. Open a new Microsoft Excel document,
  2. Click the Tools menu, Marco, Visual Basic Editor. You can also press the ALT+ F11 Shortcut Key to bring up the VBA editor.
  3. While In MS Visual Basic Editor, Click On The View Code Icon On The Upper-Left Panel,













*Copy the VBA program source code from Bottom and paste it onto the VBA source code editor,
*Press F5 to execute the VBA source code,
*An Open File dialog box prompts you to select the Office Excel document that embed the SWF
Flash animation file,A message box appears shortly after the Excel file is selected, with a
message that says where the extracted SWF Flash animation file is saved in local hard disk!


The extracted file will be of SWF type , It can be viewed using SWF OPENER Or With Your Browser , Firefox Or IE .


VBA CODE :


Sub ExtractFlash()

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 & " ]"

End Sub

___________________________________________________________

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...