Condividi:        

Gif animate in VBA

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Gif animate in VBA

Postdi giamoros » 29/03/15 15:56

Salve a tutti.
Quacuno sa se sia possibile in Windows 8.1 ed Excel 2007 usare le gif animate.
Malgrado le ricerche fatte non sono riuscito a trovare nulla di specifico per Windows 8.1 , ma solo su Windows XP con l'indicazione del famoso modulo GIF89.DL che va caricato sul sistema.
Ho dei dubbi che sia compatibile con Windows 8.1.
Forse in Windows 8.1 bisogna usare un sistema e quale per le gif animate in VBA.
Grazie.
Windows 8.1 Excel 2007
giamoros
Utente Junior
 
Post: 48
Iscritto il: 30/06/11 15:22

Sponsor
 

Re: Gif animate in VBA

Postdi Anthony47 » 30/03/15 00:40

Premetto che non ho capito il titolo del tuo messaggio ("Gif animate in VBA"; ho sottolineato la parte dubbia), quindi potrei essere fuori strada.
Per quello che ne so puoi inserire una gif animata all' interno di un controllo Windows Media Player, ma hai bisogno di un minimo di codice per farlo funzionare.
Prova in questo modo:
-Inserisci il controllo Windows MediaPlayer (lo trovi alla voce "Altri controlli").
-Poi tasto dx sul tab col nome del foglio, scegli Visualizza codice, copia questo codice e incollalo nel frame di dx.
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
WindowsMediaPlayer1.URL = "C:\Users\UTENTE\Downloads\NomeGif.gif"   '<<< Percorso della GIF
WindowsMediaPlayer1.settings.setMode "loop", True
End Sub

Private Sub Worksheet_Deactivate()
WindowsMediaPlayer1.URL = ""
WindowsMediaPlayer1.settings.setMode "loop", False
End Sub


Se il controllo inserito non si chiama "WindowsMediaPlayer1" allora usa il suo vero nome nelle istruzioni.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Gif animate in VBA

Postdi giamoros » 30/03/15 15:24

Il titolo sta ad indicare se è possibile in un file excel/vba sotto Windows 8.1 la possibilità di lavorare le Gif animate così come era possibile in Win/XP.
In realtà si tratta di un'implementazione del file oggetto del mio post intitolato Sostituzione di valori nella stessa riga in excel anora non perfettamente in via di risoluzione.
Veniamo ora al problema:
come e dove trovo
inserisci il controllo Windows MediaPlayer (lo trovi alla voce "Altri
controlli")

questo URL
WindowsMediaPlayer1.URL = "C:UsersUTENTEDownloadsNomeGif.gif"

individua la locazione nel mio PC dove trovasi la gif e quidi potrebbe anche essere
D:Miegif\Animate\Gig001.gif

Grazie e cordiali saluti
Windows 8.1 Excel 2007
giamoros
Utente Junior
 
Post: 48
Iscritto il: 30/06/11 15:22

Re: Gif animate in VBA

Postdi enrico43 » 30/03/15 21:52

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
enrico43
Utente Senior
 
Post: 208
Iscritto il: 13/09/14 15:33
Località: Fiumicino

Re: Gif animate in VBA

Postdi Anthony47 » 30/03/15 22:28

Interessante anche il metodo del componente WebBrowser, come suggerito nel messaggio di enrico43 (vedi sopra). Anche lui si trova sotto "Altri controlli"... Cioe' dove?
Se voglio inserire un Controllo ActiveX su un foglio (non su una userform) io (con XL2010) vado sulla scheda Sviluppo, gruppo Controlli, icona Inserisci; qui c' e' un elenco di controlli Modulo e un altro di controlli ActiveX, solo i piu' comuni. L' ultima icona (sembra una chiave esagonale piu' martello) corrisponde ad "altri controlli": cliccala, scorri l' elenco, cerca Windows MediaPlayer oppure Microsoft WebBrowser e seleziona quell' oggetto. A questo punto disegni l' oggetto sul foglio, e poi lo programmi con le macro indicate da me o da enrico43.
Su XL2007 dovrebbe essere una cosa simile.

Come hai intuito l' indirizzo della gif va indicata nella riga
Codice: Seleziona tutto
WindowsMediaPlayer1.URL = "C:\Users\UTENTE\Downloads\NomeGif.gif"   '<<< Percorso della GIF
Ricorda di inserire "\" dopo il nome del drive (es "D:\Miegif\ e non "D:Miegif\)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Gif animate in VBA

Postdi enrico43 » 30/03/15 22:44

Intanto non ci ha detto se la gif va su un foglio o su userform, poi non dipende dal SO, io ho caricato Excel 2003 su Windows 10 e funziona tutto. Forse non trova il tab degli strumenti controlli in excel 2007, allora
Immagine
upload immagini
Un saluto
enrico43
Utente Senior
 
Post: 208
Iscritto il: 13/09/14 15:33
Località: Fiumicino

Re: Gif animate in VBA

Postdi giamoros » 31/03/15 18:34

Innanzi tutto un ringraziamento sia ad Antony47 che ad enrico43 che con le loro delucidazioni mi hanno aiutato a disricarmi per risolvere questo problema.
Intanto non ci ha detto se la gif va su un foglio o su userform

Non so quali sono i motivi per poter scegiere il foglio o l'userform ; so solo che quando ho usato la gif animata l'avevo su userform con XP ed Excel 2003 e con l'uso della g89.dll ed oltre tutto l'avevo solo copiata a pappagallo da un collega.
Alla fine dell'ultima di enrico43 c'è un link
upload immagini
a cosa serve?
Grazie ed a presto.
Windows 8.1 Excel 2007
giamoros
Utente Junior
 
Post: 48
Iscritto il: 30/06/11 15:22

Re: Gif animate in VBA

Postdi enrico43 » 31/03/15 21:09

A niente, lo mette Filedropper.
Senti, tagliamo la testa al toro, ti mando un file, scompattalo dentro una dir messa sul desktop l'indirizzo della quale (tasto dx-Proprietà) sarà C:\Documents and Settings\TUONOME\Desktop, ci sarà un xls e una dir con dentro altre dir che sono le gif. Lancia l'xls ed attiva le macro, probabilmente non succede niente. Poi vai nell'editor di Visual Basic (alt+F11) e nella finestra di sinistra clicca sul + a sinistra di Form, poi fai doppio click su SplashScreen (compare la Userform) e ancora doppio click sul giallino sotto Chiudi. Ti si aprono sulla destra le istruzioni delle macro. Il file l'avevo fatto 3-4 anni fa quando lavoravo per una società americana e te ne accorgerai alla fine della corsa. Comunque scorri in basso fino al penultimo paragrafo Private Sub UserForm_Initialize() e li devi mettere al posto di Enrico il nome che hai visto all'inizio del post.
Poi torna sul quadrante di sinistra e fai doppio click su Sheet1 e sul quadrante di destra risostituisci ad Enrico etc.
Salva, esci e riaprilo. Dovrebbero comparirti già le due gif animate sul foglio, poi se clicchi sul bottone in alto a sinistra ti si apre una Userform con 5 postazioni di gif animate in alto di cui 2 occupate la bandiera americana e il pulser scorrevole (sono quelle composte da molti frames) e due postazioni in basso con gif animate di unico frame. Hanno istruzioni diverse, lo si vede nelle macro della form. Hai 3 possibilità, 1. gif su userform (5) che accettano solo gif multiframes; 2. gif su userform (2) che accettano solo gif monoframe; 3. gif su foglio (2) che accettano solo gif monoframe. In realtà anche queste sono come le altre ma "condensate", esiste anche un sw per splittarle.
Fai tutto questo e se tutto funziona puoi tu decidere quale via prendere, su macro o su foglio, cancellarne o aggiungerne, riempire con tue gif, etc. Se invece le gif non appaiono vuol dire che non hai caricato il componente Microsoft WebBrowser, che va caricato su foglio se le gif vanno sul foglio e su visual basic se le gif vanno su userform.
Ti saluto
Enrico
http://www.filedropper.com/splashscreen

OT Ragazze/i, moderatore/i, amministratore/i fate funzionare il file che è uno schianto FINE OT
enrico43
Utente Senior
 
Post: 208
Iscritto il: 13/09/14 15:33
Località: Fiumicino

Re: Gif animate in VBA

Postdi giamoros » 01/04/15 08:19

Scusa enrico43 ma non vedo il file , ti rocordo che ho windows 8.1 e la libreria
C:\Documents and Settings\TUONOME\Desktop
non esiste per quel poco che ne so io dell'8.1.
In attesa di nuovo mille grazie.
Windows 8.1 Excel 2007
giamoros
Utente Junior
 
Post: 48
Iscritto il: 30/06/11 15:22

Re: Gif animate in VBA

Postdi enrico43 » 01/04/15 11:12

Devi dirci
se la tua gif è un file unico o se è una directory con dentro tanti file, poi
se vuoi caricarla su un foglio o su una userform
e ti risponderemo. Se io, stasera.
ed anche se conosci e ti sai muovere nell'editor del VBA (Visual Basic).
Ciao

PS Clicca col tasto destro sulla directory dove hai scompattato il file che ho mandato, copia quello che leggi nella barra degli indirizzi e postamelo insieme alle risposte di cui sopra
enrico43
Utente Senior
 
Post: 208
Iscritto il: 13/09/14 15:33
Località: Fiumicino

Re: Gif animate in VBA

Postdi giamoros » 01/04/15 15:28

Scusa enrico43 ma non vedo il file , ti ricordo che ho windows 8.1 e la libreria

C:\Documents and Settings\TUONOME\Desktop

non esiste per quel poco che ne so io dell'8.1
Non so quali sono i motivi per poter scegiere il foglio o l'userform ; so solo che quando ho usato la gif animata l'avevo su userform con XP ed Excel 2003 e quindi anche con l'uso della g89.dll ed oltre tutto l'avevo solo copiata a pappagallo da un collega.
Credo che sia meglio l'userform.
Condidera che io ho 8 gif con ampiezza variabile da 4 a 8 KB; sono tutte in una directory dove esistono anche altri fles ma che non sono interessati da questo progetto.
In attesa di nuovo mille grazie.
Windows 8.1 Excel 2007
giamoros
Utente Junior
 
Post: 48
Iscritto il: 30/06/11 15:22

Re: Gif animate in VBA

Postdi Anthony47 » 01/04/15 18:17

Ci siamo complicati la vita inutilmente...
Infatti basta inserire un ActiveX "Immagine" e impostarne la proprieta' "placement" su 422 per ottenere automaticamente la gestione della gif animata; come fatto sul file di esempio che si puo' scaricare qui: https://www.dropbox.com/s/xjq50xs9ar9w1 ... .xlsm?dl=0
Le macro vanno abilitate, visto che la programmazione dell' oggetto e' fatto dal vba.
Il valore 422 corrisponde alla costante msoAnimatedGif, che appunto abilita l' animazione.
Questo vale sia per un controllo Immagine inserito su un foglio che all' interno di una userform, ma vale solo per XL2007 e superiori.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Gif animate in VBA

Postdi giamoros » 01/04/15 21:02

Ho scaricato il file Demo1 ed ho visto e compreso la programmazione VBA.
Non mi é però chiaro se si riferisce ad un foglio od a un userform.
Inoltre
il valore 422 corrisponde alla costante msoAnimatedGif,
non lo trovo in nessun foglio basic
Dato che ho caricato tramite Dropbox le mie gif vorrei sapere come faccio per indicarti la cartella dove stanno ?
In realtà l'installazione le ha messe in C:\Utenti\Amorosi\Dropbox ; vorrei cambiargli nome e/o ubicazioni é possibile?
Nel foglio demo vedo
Private Sub Worksheet_Activate()
WebBrowser1.Navigate "http://www.jndyos.com/Pesce/Gif/Pesce_Sorridente.gif"
End Sub

che credo sia la locazione della gif dell'esempio.
Vorrei sapere se e come sia possibile sceglierla in relazione a certi valori che assumeranno determinate celle vale a dire una gif od un'altra.
Saluti a presto
Windows 8.1 Excel 2007
giamoros
Utente Junior
 
Post: 48
Iscritto il: 30/06/11 15:22

Re: Gif animate in VBA

Postdi Anthony47 » 03/04/15 22:15

Il mio messaggio precedente e relativo file allegato voleva essere uno "scherzo di stagione", ma vedo che il tentativo e' andato a vuoto...
Hai fatto bene a decodificare il codice, che assegna una certa gif all' oggetto WebBrowser; se le tue gif sono "locali" inserirai il percorso e il nome completo, tipo
Codice: Seleziona tutto
WebBrowser1.Navigate "c:\Tua directory\TuaGif.gif" <<<Qui il percorso della tua gif

(come gia' chiarito da enrico43)
Se l' oggetto WebBrowser e' inserito su una userform dovrai meglio indirizzarlo, usando
Codice: Seleziona tutto
Userform1.WebBrowser1.Navigate "c:\Tua directory\Tua Gif" <<<Qui il percorso della tua gif

Se hai piu' gif, per scegliere quale attivare dovrai usare istruzioni in grado di compiere una scelta; tipo
Codice: Seleziona tutto
If Condizione1 = true then
   WebBrowser1.Navigate "c:\Tua directory\TuaGif1.gif"
ElseIf Condizione2=true then
   WebBrowser1.Navigate "c:\Tua directory\TuaGif2.gif"
ElseIf Condizione3=true then
   WebBrowser1.Navigate "c:\Tua directory\TuaGif3.gif"
End If

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Gif animate in VBA

Postdi giamoros » 04/04/15 19:08

Caro Antony47,
Codice: Seleziona tutto
Il mio messaggio precedente e relativo file allegato voleva essere uno "scherzo di stagione"
non so se sia riuscito o meno, ma so che quello che credevo aver appreso é svanito ed ha lasciato il posto ad una baraonda di idee confuse.
Speranzoso e fiducioso, questo vale anche per enrico43, della vostra pazienza vorrei fare un punto di restart.
Vediamo il target da raggiungere.
Codice: Seleziona tutto
Io ho un file Excel con 17 fogli nei quali arrivano direttamente e/o indirettamente dei dati attrverso la tecnica DDE.
Ogni foglio ha un suo nome menmonico; quello del foglio in esame si chiama Titoli di proprietà che già ha le istruzioni per ricevere dati,fare dei calcoli ed emettere suoni al verificarsi di certe condizioni e del valore di alcune celle del foglio stesso.
Su questo stesso foglio vorrei aggiungere le animazioni delle gif.

Per quanto riguarda la struttura e la programmazione del VBA è tutto a posto e funzionante ma mi manca solo come mettere le gif che ho sulle userform e le relative istruzioni VBA di collegamento con il foglio destinatario Titoli di proprietà.
Per quanto riguarda il metodo credo che
Codice: Seleziona tutto
basta inserire un ActiveX "Immagine" e impostarne la proprieta' "placement" su 422 per ottenere automaticamente la gestione della gif animata se è reale e non facente parte dello scherzo mi va benissimio.

In attesa Buona Pasqua.
Windows 8.1 Excel 2007
giamoros
Utente Junior
 
Post: 48
Iscritto il: 30/06/11 15:22

Re: Gif animate in VBA

Postdi Anthony47 » 05/04/15 01:31

Calma, no panic...
Il messaggio era uno "scherzo di stagione", compreso "placement" da impostare su 422, ma il file allegato col suo contenuto e' pienamente utilizzabile.
Nel mio messaggio di ieri sera ho indicato come assegnare una gif a un oggetto webbrowser; ma ho ripetuto informazioni gia' date da enrico43.

Quindi quello che devi fare e':
-creare la userform
-inserire un oggetto WebBrowser sulla userform
-da qualche parte inizializzerai il webbrowser con il percorso della tua gif; puo' essere nella UserForm_Initialize o in altro momento, a seconda dell' interfaccia utente che vorrai realizzare.
NB: dico "userform" perche' tu continui a parlare di "mettere le gif che ho sulle userform"; ma da quello che ho capito non ti serve nessuna userform, basta inserire l' oggetto WebBrowser sul foglio e programmarlo per il contenuto che ti serve.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Gif animate in VBA

Postdi giamoros » 05/04/15 18:33

Scusa di nuovo Antony47, ma vorrei capire bene prima di procedere. Nella tua ultima mi dici :
Quindi quello che devi fare e':
-creare la userform
-inserire un oggetto WebBrowser sulla userform
-da qualche parte inizializzerai il webbrowser con il percorso della tua gif; puo' essere nella UserForm_Initialize o in altro momento, a seconda dell' interfaccia utente che vorrai realizzare.
NB: dico "userform" perche' tu continui a parlare di "mettere le gif che ho sulle userform"; ma da quello che ho capito non ti serve nessuna userform, basta inserire l' oggetto WebBrowser sul foglio e programmarlo per il contenuto che ti serve.
Mi interessa capire se
NB: dico "userform" perche' tu continui a parlare di "mettere le gif che ho sulle userform"; ma da quello che ho capito non ti serve nessuna userform, basta inserire l' oggetto WebBrowser sul foglio e programmarlo per il contenuto che ti serve.
sta ad indicare che potrei risolvere il tutto solo con l'oggetto Webbroser che mi semra molto semplice.
Basterebbe sapere come e dove definirlo in VBA e se la parte logica delle istruzioni che l'accompagnano vanno messe come credo nel modulo di competenza ; nel mio caso sul modulo che gestisce il foglio Titolo di proprietà.
In attesa saluti.
Windows 8.1 Excel 2007
giamoros
Utente Junior
 
Post: 48
Iscritto il: 30/06/11 15:22

Re: Gif animate in VBA

Postdi enrico43 » 05/04/15 20:29

Ciao, in un tuo post sopra hai detto che l’avevi copiata e con l’uso del controllo Gif89 funzionava. Sarebbe la via più semplice, quindi se non hai cambiato pc o formattato o cambiato la versione di Office dovresti averla ancora. Più sopra avevo chiesto anche se sai mettere mano alle macro perché qualunque sia la via, con Gif89 od altro, bisogna operare in visual basic editor.
Poi nel tuo ultimo intervento dici “Su questo stesso foglio vorrei aggiungere le animazioni delle gif”. La procedura per mettere una gif su foglio è diversa che metterla su userform.
Sarebbe bene che tu chiarissi questi punti e nel caso che tu non conosca il Visual Basic dovresti mandarci la tua Userform con la/e gif che gli vuoi inserire tramite http://www.filedropper.com. Procedura per fare il file dell’userform:
1 apri il tuo file; 2 vai nell’editor (alt+F11); 3 sulla sinistra in alto hai la finestra con elencati i Fogli, le Form ed eventuali Macro; 3 fai doppio click su Form e sotto avrai il nome della tua Userform; 4 click destro sulla Userform, nella tendina clicca su Esporta file e scegli dove salvarlo. Il file sarà del tipo .frm
Poi fai uno zip del file insieme alla/e gif e ce lo mandi.
Se invece sai mettere le mani nelle macro del tuo file o preferisci non visualizzare la Userform, confermacelo ed Anthony o io ti guideremo passo passo, anzi per mano.
Ti saluto
@Anthony Ciao, effettivamente rileggendo tutto ho rivisto Gif89 che è un controllo che ti permette di inserire gif su userform in maniera semplicissima, basta inserire all'attivazione della Userform
Gif89a1.Filename = "C:\Percorso\Tua.gif " per una, ricopiando e mettendo a2, a3 etc ne puoi mettere quante ne vuoi, sono trasparenti e autosize.
enrico43
Utente Senior
 
Post: 208
Iscritto il: 13/09/14 15:33
Località: Fiumicino

Re: Gif animate in VBA

Postdi giamoros » 06/04/15 11:37

Per enrico43 :
nel passaggio fra XP e Windows7 e fra questo e Windows 8.1 il file Excel e relative macro sono andate perse: mi sono rimaste solo le Gif usate ; inoltre credo che quel sistema non sia compatibile con l'8.1.
Giusto ?

Poi nel mio ultimo intervento dico “Su questo stesso foglio vorrei aggiungere le animazioni delle gif.”
e tu
Codice: Seleziona tutto
La procedura per mettere una gif su foglio è diversa che metterla su userform.

Anche qui senz'altro mi sono espresso male, ma per mia ignoranza, non conoscendo le difficoltà ed i pregi di usare il foglio o l'userform. Lascio a voi la scelta. Più è semplice il metodo più lo preferisco.
Credo che quanto mi ha scritto Antony47 nella sua ultima
Codice: Seleziona tutto
NB: dico "userform" perche' tu continui a parlare di "mettere le gif che ho sulle userform"; ma da quello che ho capito non ti serve nessuna userform, basta inserire l' oggetto WebBrowser sul foglio e programmarlo per il contenuto che ti serve.
sia la soluzione migliore.
Al momento non posso usare filedropper perchè il Plugin che necessita mi da sempre errore; se vuoi posso spedire con Dropbox.
Invece per andare sull'Editor VBA me la cavo solo che ho bisogno di sapere su quale sezione vanno eventualmente inserite le istruzioni. (Microsoft Excel Oggetti ,ThisWorkBook,Form,Moduli ,Moduli di classe).
In atesa grazie di nuovo.
Windows 8.1 Excel 2007
giamoros
Utente Junior
 
Post: 48
Iscritto il: 30/06/11 15:22

Re: Gif animate in VBA

Postdi Anthony47 » 07/04/15 20:21

Credo stiamo confondendo il buon giamoros oltre le nostre intenzioni...

Premesso che in genere ci sono vari modi per fare la stessa cosa, quindi il trucco e' farla piu' semplice possibile; ad esempio inizialmente io ho suggerito di usare l' activex Windows MediaPlayer, enrico43 invece WebBrowser che mi sembra piu' semplice da usare e infatti l' ho usato nel mio file "scherzo mal riuscito".
La GIF89.dll non ho capito da chi e' stata sviluppata ma evidentemente non c' e' in tutti i computer, quindi non mi sembra l' oggetto piu' semplice da usare.
Poi, sono convinto che giamoros non ha bisogno di una userform, ma puo' inserire il WebBrowser direttamente sul foglio.

Quindi cosa fare?
1) vai sul foglio Excel dove vuol vedere la gif
2) inserisci un controllo WebBrowser (vedi Immagine):
Immagine
image hosting
-attivare il tab Sviluppo (1); se questo tab non e' presente nel menu allora vedi https://support.office.com/it-it/articl ... fd9bea2d45
-premere Inserisci (2)
-premere l' icona "altri controlli" (3)
Compare l' elenco dei controlli disponibili (immagine)
Immagine
hostare immagini
-scorrere la barra (1) fino a visualizzare il controllo Microsoft Web Browser; selezionarlo (2) e premere Ok (3)
Disegna ora il controllo (immagine)
Immagine
image share
-cliccare dove si vuole inserire l' angolo alto/sx del controllo (1), trascinare il mouse fino all' angolo basso/dx (2); rilasciare il tasto del mouse.
-prendere nota del nome assegnato da Excel all' oggetto (3)

A questo punto bisogna associare una gif all' oggetto.
3) Tasto dx sul tab col nome del Foglio su cui e' inserito il webbrowser; scegli Visualizza codice; copia questo codice e incollalo nel frame vuoto di dx:
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
WebBrowser1.Navigate "C:\Percorso\NomeGif.gif"    '<<< Il vero Drive, Percorso, nome file
End Sub

Personalizza l' istruzione marcata <<<
Poi torna su excel, Poi torna su excel, controlla che non sia rimasta selezionata la "Modalita' progettazione" (vedi prima immagine), deseleziona e riseleziona il foglio, e vedi l' effetto che fa.

Se hai la necessita' di scegliere piu' gif da inserire nello stesso controllo WebBrowser userai le tecniche che ti avevo accennato qui: viewtopic.php?f=26&t=104374&p=609100#p609028

Quando vuoi nascondere un controllo userai WebBrowser1.Visible = False (e =True per riabilitarlo).

Spero che fai il salto risolutivo... se no siamo sempre qui...

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Gif animate in VBA":

Gif animate
Autore: Ary_89
Forum: Software Windows
Risposte: 3

Chi c’è in linea

Visitano il forum: Anthony47 e 13 ospiti