| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  26-12-2016, 00:01 | #1 | 
| Member Iscritto dal: Feb 2014 
					Messaggi: 201
				 | 
				
				[EXCEL VBA] Estrarre tutti i links contenuti in una pagina Web
			 
		Salve a tutti ragazzi del forum, vorrei chiedere a qualcuno di voi che sappia usare il VBA (che io ovviamente non so usare) se potrebbe darmi una mano nella scrittura del codice per l'esecuzione di una macro che letto un dato indirizzo e-mail scritto in una cella, mi restituisca tutto il codice sorgente HTML riga per riga, scritto però non in una cella unica, ma andando a capo di cella in cella, perché ho letto da qualche parte che le celle in Excel hanno una lunghezza massima di caratteri che possono contenere e perciò tutto il codice non potrebbe starci e buona parte si perderebbe... Quello che ha me serve è solo questo, dato che poi tramite la formula CERCA.VERT() mi andrei ad estrapolare di volta in volta dal codice le informazioni di cui avrei bisogno, le quali sono di solito contenute nella riga 210, perciò se il codice fosse anche fatto in modo che estraesse solo quella data riga sarebbe meglio, però mi va bene lo stesso anche tutto  P.s. prima che lo chiediate, SI, ho cercato in internet e NO, non ho trovato quello che cercavo... c'erano parecchie soluzioni, ma non sono mai riuscito a trovarne una funzionante per un problema di librerie o altro genere di errore su Excel  Vi ringrazio immensamente per l'aiuto qualora vogliate offrirmelo   Ultima modifica di UwU : 04-01-2017 alle 17:15. | 
|   |   | 
|  27-12-2016, 00:04 | #2 | 
| Member Iscritto dal: Feb 2014 
					Messaggi: 201
				 | 
		Allora ragazzi, cercando in rete e facendo vari test, ho trovato un codice che fa al caso mio: Codice: Sub Naviga()
Dim texto As String
Dim objIE As Object
Dim DestUrl As String
 
DestUrl = "http://www.google.it"
     
    Set objIE = CreateObject("InternetExplorer.Application")
    objIE.Visible = False
    objIE.Navigate2 DestUrl
 
Do
DoEvents
Loop Until objIE.readyState = READYSTATE_COMPLETE
 
Range("A" & 1).Value = objIE.document.body.innerHTML
 
End Sub1) Vorrei che invece di inserire io il link manualmente, se lo andasse a prendere direttamente da dentro una cella 2) Essendo le celle di Excel limitate come caratteri da inserire dentro, tutto il codice non ci sta e quindi la macro dovrebbe fare in modo di andare a capo e scrivere il codice riga per riga Come posso modificarlo? Grazie   Ultima modifica di UwU : 27-12-2016 alle 00:07. | 
|   |   | 
|  27-12-2016, 12:48 | #3 | 
| Member Iscritto dal: Feb 2014 
					Messaggi: 201
				 | 
		Allora ragazzi, sono molto vicino alla soluzione, ho sistemato il codice, ora è più pulito, leggibile ed ho trovato il modo di fargli leggere una cella in particolare... Codice: Sub EstrSorgPag()
Dim IE As Object
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = False
    IE.navigate Range("H1")
Do
DoEvents
Loop Until IE.readyState = READYSTATE_COMPLETE
Range("A" & 1).Value = IE.document.body.innerHTML
End Sub  | 
|   |   | 
|  04-01-2017, 17:09 | #4 | 
| Member Iscritto dal: Feb 2014 
					Messaggi: 201
				 | 
		ok sono riuscito a scrivere una macro che sia in grado di estrarre tutti i link da una pagina Web e questo è il risultato   Codice: Sub EstraiURLdaWeb()
Dim doc As HTMLDocument
Dim output As Object
Set IE = New InternetExplorer
IE.Visible = False
IE.navigate Range("L1")
Do
    DoEvents
    Loop Until IE.readyState = READYSTATE_COMPLETE
Set doc = IE.document
Set output = doc.getElementsByTagName("a")
i = 5
For Each link In output
    Range("A" & i).Value = link
    i = i + 1
Next
MsgBox "Fatto!"
End Sub  Ultima modifica di UwU : 04-01-2017 alle 17:17. | 
|   |   | 
|  18-03-2017, 10:55 | #5 | 
| Junior Member Iscritto dal: Mar 2017 
					Messaggi: 1
				 | 
				
				ciao
			 
		POtresti darmi delle dritte per l'uso di macro per estrapolare dati da internet ed intranet? grazie | 
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 12:00.









 
		 
		 
		 
		






 
  
 



 
                        
                        










