Ciao, do una mano ad Anthony per sdebitarmi di 1/100esimo di quelle che ha dato a me.
Io ho avuto a che fare con le gif animate su foglio recentemente ed ho usato questo metodo e funziona bene, ma non è farina del mio sacco. L'indirizzo è questo
http://en.kioskea.net/faq/1402-insertin ... f-in-excel ma è in inglese. In sostanza:
Carico prima il componente Microsoft WebBrowser, vai su Menù Visualizza>Barra degli strumenti>Strumenti di Controllo, click sul martello in basso e dall'elenco va scelto "Microsoft WebBrowser". Poi si disegna una finestra nel foglio dove va la gif. Nel Modulo del foglio vanno inserite queste due macro:
Private Sub Worksheet_Activate()
WebBrowser1.Navigate "c:\Tua directory\Tua Gif" <<<Qui il percorso della tua gif
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Me.WebBrowser1.Document.Body.Scroll = "no"
Me.WebBrowser1.Document.Body.Style.Border = "none"
End Sub
in questo modo ogni volta che verrà attivato il foglio comparirà la tua gif animata, vai su un altro foglio e ritorna su quello della gif per vedere se funziona. Devi indovinare le dimensioni della finestra che disegni sul foglio in funzione della grandezza della gif, altrimenti la finestra avrà le barre di scorrimento.
Per inserire un brano musicale invece: con lo stesso procedimento di sopra va caricato il componente Activex Windows MediaPlayer e posizionato in una parte remota del foglio a meno che tu non voglia avere a disposizione i comandi di gestione del brano.
Nell'evento open del file va inserito quanto segue:
Private Sub Workbook_Open()
Sheets("foglio1").WindowsMediaPlayer1.URL = "C:\TuaDirectory\TuoMid.mid" <<<Qui il percorso del tuo brano
Sheets("foglio1").WindowsMediaPlayer1.settings.setMode "loop", True
End Sub
In sostanza quanto detto da Anthony. Se non vuoi la ripetizione continua del brano elimina la riga Loop e in un modulo standard metti invece questa funzione e la sub:
Declare Function sndPlaySound32 Lib "Winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Sub EseguiBrano()
sndPlaySound32 "c:\Tua directory\TuoMid.mid", 1
End Sub
Ho scritto tutto perché non so fare quella bella finestra del Seleziona Tutto.
Un saluto
Enrico