Condividi:        

[VBA EXCEL] C'é un comando che fa scaricare una immagine ?

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

[VBA EXCEL] C'é un comando che fa scaricare una immagine ?

Postdi corvo4791 » 08/07/10 07:49

Ciao.

Ho il link ad una immagine in una cella e vorrei che la mia macro me la scaricasse nel mio pc.

Esiste un comendo fatto apposta ?

Grazie.
corvo4791
Utente Junior
 
Post: 72
Iscritto il: 02/07/10 08:22

Sponsor
 

Re: [VBA EXCEL] C'é un comando che fa scaricare una immagine ?

Postdi corvo4791 » 08/07/10 07:55

AGGIUNGO...

e, se é possibile farlo, posso anche salvare l'immagine rinominandola con il codice presente in un'altra cella ?

per esempio:

ho in A1 il valore 974890D
ho in A2 il link "http://www.sito.it/immagine.jpg

voglio scaricare immagine.jpg salvandola sul mio pc come 974890D.jpg

ANY HELP ?

Grazie, ragazzi.
corvo4791
Utente Junior
 
Post: 72
Iscritto il: 02/07/10 08:22

Re: [VBA EXCEL] C'é un comando che fa scaricare una immagine ?

Postdi Anthony47 » 08/07/10 10:11

Registra una macro mentre esegui Menu /Inserisci /Immagine /da file; come origine ci metti l' url che conosci.
Modifica poi il codice prodotto affinche' l' indirizzo sia prelevato dalla tua cella, e aggiungi al codice S
Codice: Seleziona tutto
election.Name = Range("A1").value


Ciao, fai sapere dove arrivi.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [VBA EXCEL] C'é un comando che fa scaricare una immagine ?

Postdi corvo4791 » 08/07/10 10:35

Anthony47 ha scritto:Registra una macro mentre esegui Menu /Inserisci /Immagine /da file; come origine ci metti l' url che conosci.
Modifica poi il codice prodotto affinche' l' indirizzo sia prelevato dalla tua cella, e aggiungi al codice S
Codice: Seleziona tutto
election.Name = Range("A1").value


Ciao, fai sapere dove arrivi.


Ciao, Antony.

Io sapevo che la funzione registra macro non registra le operazioni fatte nei menu ma solo quelle fatto nel foglio di lavoro. Infatti importando l'immagine mi viene fuori una macro vuota.

Ho risolto, comunque, grazie a questo codice:

Codice: Seleziona tutto
Sub DownloadFilefromWeb()
Dim strSavePath As String
Dim URL As String, ext As String
Dim buf, ret As Long
URL = Worksheets("Foglio1").Range("A1").Value
strSavePath = ThisWorkbook.Path & "\" & Range("B1").Value & "." & "jpg"
ret = URLDownloadToFile(0, URL, strSavePath, 0, 0)
If ret = 0 Then
MsgBox "Download effettuato!"
Else
MsgBox "Error"
End If
End Sub


Però, se il tuo metodo é fattibile, vorrei approfondirlo. Meglio avere più soluzioni per le cose...
corvo4791
Utente Junior
 
Post: 72
Iscritto il: 02/07/10 08:22

Re: [VBA EXCEL] C'é un comando che fa scaricare una immagine ?

Postdi Anthony47 » 08/07/10 13:33

Quanto ti ho suggerito produce un codice del tipo
Codice: Seleziona tutto
    ActiveSheet.Pictures.Insert( _
        "https://order.store.yahoo.net/lib/getpartsonline/getparts_01.gif").Select

Comunque se il tuo obiettivo era salvare l' immagine (come emerge rileggendo la tua domanda), piuttosto che inserirla nel foglio excel, quanto hai adottato e' la soluzione piu' efficace.
A beneficio di chi legge aggiungo che la macro usa l' "API" URLDownloadToFileA, che va definita tramite la seguente dichiarazione:
Codice: Seleziona tutto
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
  "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
    szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

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

Re: [VBA EXCEL] C'é un comando che fa scaricare una immagine ?

Postdi corvo4791 » 08/07/10 13:58

Anthony47 ha scritto:Quanto ti ho suggerito produce un codice del tipo
Codice: Seleziona tutto
    ActiveSheet.Pictures.Insert( _
        "https://order.store.yahoo.net/lib/getpartsonline/getparts_01.gif").Select

Comunque se il tuo obiettivo era salvare l' immagine (come emerge rileggendo la tua domanda), piuttosto che inserirla nel foglio excel, quanto hai adottato e' la soluzione piu' efficace.
A beneficio di chi legge aggiungo che la macro usa l' "API" URLDownloadToFileA, che va definita tramite la seguente dichiarazione:
Codice: Seleziona tutto
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
  "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
    szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Ciao


Strano... ogni volta che l'ho fatta mi ha dato una macro vuota. Ho excel 2007... cambia qualcosa ?

Comunque sì, in effetti la volevo salvare nel PC e non importare. Io non so nemmeno cosa sia un' API. Ora mi documento un pò.

Grazie come sempre, Antony.
corvo4791
Utente Junior
 
Post: 72
Iscritto il: 02/07/10 08:22

Re: [VBA EXCEL] C'é un comando che fa scaricare una immagine ?

Postdi Anthony47 » 08/07/10 14:10

Con 2007, che fa differenza tra file con macro e senza macro, non so come il registratore si comporta.

Una API non hai bisogno di sapere che e' una Application Programming Interface, basta usarla; comunque credo che il codice che io ho aggiunto a beneficio del forum ce l' avevi gia', giusto?

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

Re: [VBA EXCEL] C'é un comando che fa scaricare una immagine ?

Postdi corvo4791 » 08/07/10 14:41

Anthony47 ha scritto:Con 2007, che fa differenza tra file con macro e senza macro, non so come il registratore si comporta.

Una API non hai bisogno di sapere che e' una Application Programming Interface, basta usarla; comunque credo che il codice che io ho aggiunto a beneficio del forum ce l' avevi gia', giusto?

Ciao


Sì, Sì, quel codice era in cima alla SUB
corvo4791
Utente Junior
 
Post: 72
Iscritto il: 02/07/10 08:22


Torna a Applicazioni Office Windows


Topic correlati a "[VBA EXCEL] C'é un comando che fa scaricare una immagine ?":


Chi c’è in linea

Visitano il forum: Nessuno e 121 ospiti