VBA Ricerca Google Image Chrome
Hai un problema con Excel? 
VBA Ricerca Google Image (Chrome)
di Heatteo (utente non iscritto) data: 16/11/2014 10:15:40
Buongiorno a tutti,
Volevo chiedervi un piccolo aiuto perché è da giorni che sto cercando di risolvere il problema, ma cercando nel web non riesco a trovare la soluzione che mi serve.
La mia idea era la seguente:
Tramite un pulsante e una macro, fare una ricerca in internet (in particolare tramite il sito google image) di un testo all'interno di una cella. Il Browser da utilizzare vorrei che fosse Chrome (e non explorer); inoltre la cella da cui prendere il testo da ricercare, la devo selezionare di volta in volta con il cursore, cliccandoci sopra (quindi non è una cella fissa, ma una cella che di volta in volta può cambiare in base alla mia scelta). Io sono arrivato fino al punto di aprire il browser, non riesco però a trovare il modo per ricavare il testo dalla cella, inserirlo nel campo di ricerca del sito e far partire la ricerca automaticamente.
Incollo anche il codice che sono riuscito a scrivere fino ad ora
Vi ringrazio per l'aiuto!
Buona giornata a tutti!
Sub Prova()
Dim chromePath As String
chromePath = """C:Program Files (x86)GoogleChromeApplicationchrome.exe"""
Shell (chromePath & " -url link sito web google images")
End Sub |
di Zer0Kelvin data: 16/11/2014 11:21:37
Ciao.
Puoi usare la variante qui sotto.
L'URL è stata ottenuta copiandola direttamente dalla barra dell'indirizzo del browser.
Il nome dell'immagine da cercare viene sostituito dalla variabile NomeImmagine, che prende il suo valore dalla cella attiva.
L'unico inconveniente è che, in questo modo, viene aperta una pagina ad ogni nuova ricerca.
Sub Prova()
Const Url1 = "www.google.it/search?hl=it&site=imghp&tbm=isch&source=hp&biw=1858&bih=995&q="
Const Url2 = "&oq="
Const Url3 = "&gs_l=img.3..0l10.3854.5993.0.7560.8.6.0.2.2.0.104.588.3j3.6.0....0...1ac.1.58.img..0.8.589.cne0fl1eccA"
Dim ChromePath As String
Dim NomeImmagine As String
NomeImmagine = Trim(CStr(ActiveCell))
If NomeImmagine <> "" Then
ChromePath = """C:Program Files (x86)GoogleChromeApplicationchrome.exe"""
Shell (ChromePath & Url1 & NomeImmagine & Url2 & NomeImmagine & Url3)
End If
End Sub |
di Heatteo data: 16/11/2014 11:34:39
Grazie mille per la risposta, il codice va benissimo!!! L'unica cosa è che ricerca solo la prima parola all'interno della cella. Se, per esempio, ho una serie di due o più parole, il comando mi ricerca solo la prima parola mentre per la seconda apre due schede con questo indirizzo:
(nella cella ho scritto come testo "parola01 parola02")
parola02%26oq%3Dparola01/
parola02%26gs_l%3Dimg.3..0l10.3854.5993.0.7560.8.6.0.2.2.0.104.588.3j3.6.0....0...1ac.1.58.img..0.8.589.cne0fl1ecca/
Io per la maggior parte delle celle ho più di due parole da ricercare.
Come posso fare per risolvere il problema?
Grazie in anticipo!
Ciaooo!
di Zer0Kelvin data: 16/11/2014 11:58:41
Prova così
Sub Prova()
Const Url1 = "www.google.it/search?hl=it&site=imghp&tbm=isch&source=hp&biw=1858&bih=995&q="
Const Url2 = "&oq="
Const Url3 = "&gs_l=img.3..0l10.3854.5993.0.7560.8.6.0.2.2.0.104.588.3j3.6.0....0...1ac.1.58.img..0.8.589.cne0fl1eccA"
Dim ChromePath As String
Dim NomeImmagine As String
NomeImmagine = Trim(CStr(ActiveCell))
If NomeImmagine <> "" Then
NomeImmagine = Replace(NomeImmagine, " ", "+")
ChromePath = """C:Program Files (x86)GoogleChromeApplicationchrome.exe"""
Shell (ChromePath & Url1 & NomeImmagine & Url2 & NomeImmagine & Url3)
End If
End Sub
|
di Zer0Kelvin data: 16/11/2014 12:05:34
Sembra che l'url da usare si possa semplificare così:
Sub Prova()
Const Url1 = "www.google.it/search?hl=it&site=imghp&tbm=isch&source=hp&biw=1858&bih=995&q="
Dim ChromePath As String
Dim NomeImmagine As String
NomeImmagine = Trim(CStr(ActiveCell))
If NomeImmagine <> "" Then
NomeImmagine = Replace(NomeImmagine, " ", "+")
ChromePath = """C:Program Files (x86)GoogleChromeApplicationchrome.exe"""
Shell (ChromePath & Url1 & NomeImmagine)
End If
End Sub
|
di Heatteo data: 16/11/2014 12:06:33
Perfetto grazie mille! Così funziona perfettamente, ho fatto diverse prove e non mi ha dato problemi! Sei geniale!
Grazie ancora infinite, se dovessero esserci questioni, chiederò ancora.
Vuoi Approfondire?