Friday, May 30, 2008

Sacar flash de excel o word

Un dia me llego algo re-adictivo a mi mail y era una animacion flash embebida en un archivo de excel, entonces como de costumbre con otras cosas me pregunte.. Sacar una animacion flash de un xls sera posible? trate un par de cosas ke no funcionaron y despues de darme cuenta ke no era tan obvio probe satisfactoriamente el sig codigo:



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


and that's it!

Edit: En respuesta a cali, el procedimiento para aplicar el codigo es crear un macro en excel, para esto tecleamos Alt+F8, se abre una ventana y le asignamos un nombre x para crear un nuevo macro y le damos click en el boton de 'create', borramos lo que excel nos pone por default y le metemos el codigo de arriba, presionamos F5 para que excel corra el codigo y nos arroje el flash para poder grabarlo por separado =)

Monday, May 12, 2008

Easiest Linux EVER

Wubi es un instalador oficial y soportado de ubuntu para windows, se baja el installer, se ejecuta y es bastante intuitivo todo.

Wubi permite instalar linux como cualquier otra aplicacion en windows,
lo que hace es generar archivos de 15 gb para el sistema root, 1 gb para la swap
y el resto para integrarse al boot con el windoze, de manera ke al instalar y reiniciar el sistema vemos 3 opciones para boot: windows, windoze safe mode y Ubuntu. La primera vez ke reiniciamos y corremos ubuntu se hace la instalacion y configuracion del sistema en ext3, estructuracion de los directorios etc etc, luego aparece la pantalla de login, entras y esta todo instalado, si tienes memorias usb las reconoce sin problema y bueh, es una maravilla =)

Esto nos permite hacer instalaciones en computadoras digamos.. no propietarias de uno.. de manera ke si necesitamos los beneficios de linux en una computadora empresarial es totalmente transparente =)

Probado en una laptop dualcore 2GB RAM, todo funciona smoothly =) lo unico ke hay ke cuidar es no instalar en C, sino instalar en D u otro drive ke no sea C.

http://wubi-installer.org/