sábado, 1 de marzo de 2008

Animaciones con Excel

Este es un tema del cual no abunda mucha información en Inglés y mucho menos en Español.
el portal que más te puede explicar sobre este tema es el de Ivan Moala aqui:

http://xcelfiles.homestead.com/Excel04.html

Obviamente en Inglés. Paso a explicarte en Español como colocar un gif animado en una hoja de Excel:

Primero que todo, un gif animado está compuesto por una serie de imagenes. Estas imagenes debes de separarlas una a una. Hay muchos programas graficos que te ayudan a hacer esta descomposición. Corel, PhotoShop, etc. En mi caso, utilicé el gestor de diseño gráfico de Macromedia, el Fireworks. Abres uno de estos programas y abres el gif animado que te ha gustado. en mi caso, el Fireworks me mostró el numero de diagramas y cada uno de ellos.
Lo que comencé a hacer fué, con la imagen de la secuencia uno, seleccionarla y copiarla en un libro nuevo, dentro del mismo fireworks. Luego use la opción de exportar y mandé la imagen de la primera secuencia como un Gif normal, y la nombré "imagen 1". Asi haces con todas las demas imágenes de la secuencia de tus Gifs.

Una vez hallas terminado, abres un libro nuevo de Excel, y ubicas la casilla activa o posicionas el mouse o ratón en la celda de Excel en la cual deseas que aparezca tu animación. Te vas a Menú - Insertar Imagen - Desde Archivo. Buscas con el boton Examinar la ubicación en la cual están las imagenes que descompusiste. Traes la primera imagen. Una vez que quede insertada, ALLI MISMO, sin mover el mouse ni la celda activa, te traes la segunda imagen. Quedará encima de la otra, es decir, superpuesta a la anterior. Haces así con todas las demás imágenes de tu secuencia.

Cuando termines, abres el editor de visual basic con Alt + F11. Como es un libro nuevo, te vas al menú y le das Insertar - Modulo. Te aparecerá una hoja en Blanco. En esa hoja vas a pegar este código:
Obviamente tiene el nombre del archivo del ejemplo que te voy a adjuntar, (CLICK AQUI) que es la animación de Tommy y Daly, el gato y el ratón de los Simpsom. Cambia el nombre del Sub por el tuyo. Es decir cambia la palabra AnimarTommy_y_Daly por TU nombre distintivo de tu animación. Por ejemplo, Sub Mi_Animación()



Option Explicit

Sub AnimarTommy_y_Daly()
Dim Sh As String
Dim y As Single, x As Single
Dim Start, Delay

Sh = ActiveSheet.Name

For y = 1 To 6 '6 Loops (vueltas)through the pictures
For x = 1 To 10 'Index number of Pictures(Cantidad de Imagenes o fotogramas que componen tu gif animado. si son mas, cambia el 10 por el numero de gif ultimo de tu caso)
Start = Timer 'Set start to internal timer
Delay = Start + 0.15 'Set delay for .15 secs

Do While Timer <>
Sheets(Sh).Shapes("Imagen " & x).Visible = True 'Show 1 pict @ a time
DoEvents 'do there things
Loop 'Loop until delay is up
DoEvents
Sheets(Sh).Shapes("Imagen " & x).Visible = False 'now hide this pict
Start = Timer 'and rest the timer
Delay = Start + 0.15 'and the delay
Next x 'Show the next Picture
Next y 'Do this again - 15


End Sub

Después, activas la barra formulario y haces un boton al cual le vas a asignar esta macro que acabas de escribir.

Lo puedes adaptar a cualquier gif animado, y de esta manera incluir Logos (o lo que tu quieras) de tu empresa en las presentaciones que hagas en Excel en tu compañía.


Espero que te sea de utilidad y te agradezco lo dés a conocer a todo aquel que le pueda servir en algo.

Saludos.

3 comentarios:

Anónimo dijo...

Buen día.

Gracias por tu información, sin embargo, me sale error en la línea que dice "Do While Timer <>"
Me podrías colaborar.

Gracias.

Alejandro Quiceno Garcia dijo...

Baja el ejemplo que coloqué en Snips, y usalo como base....

saludos,

Anónimo dijo...

Buen día.

Gracias por tu información, sin embargo, me sale error en la línea que dice "Do While Timer <>"
Me podrías colaborar.

Gracias.