Anthony47 ha scritto:Il codice che ho suggerito funziona anche su Excel 2002.
Se mi dici il codice completo che stai usando, "copiato senza omissioni dal vba editor", forse posso dire di piu'.
In ogni caso tocchera' a te costruire l' automazione che hai in mente, io posso solo dare suggerimenti su aspetti specifici ben delimitati.
Rimane sempre il dubbio che quello che hai detto di voler fare sia la cosa piu' semplice/efficace per risolvere quello che non hai detto, cioe' il problema vero da risolvere...
Ciao
Ciao e grazie come sempre della tua disponibilità.
In realtà a me non serve che IE sia visibile o cose del genere. Non ci devo fare cose complesse. Devo solo prendere il codice HTML della pagina in formato testo e metterlo in una cella. Ho provato il tuo metodo e un altro ed entrambi vanno bene per una cosa ma non per l'altra.
Questo é il tuo codice che ho semplificato un pò in base alle mie esigenze:
- Codice: Seleziona tutto
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 Sub
- Va bene perché mi apre internet explorer
- Mi dà però errore sull'ultima riga quando devo copiare il codice nella cella(1,1)
Ho trovato poi quest altro metodo che funziona proprio come serve a me, ma che ha un altro problema:
- Codice: Seleziona tutto
Sub GetHTML()
Dim texto As String
Dim objHttp As Object
Set objHttp = CreateObject("MSXML2.ServerXMLHTTP")
Call objHttp.Open("GET", "http://www.google.it", False)
Call objHttp.Send("")
' Call MsgBox(objHttp.ResponseText)
Do
DoEvents
Loop Until objHttp.ReadyState = READYSTATE_COMPLETE
texto = CStr(objHttp.Responsetext)
Range("a" & 1) = texto
bodyfine = InStrRev(Range("a" & 1), "</body>")
Range("d" & 1) = bodyfine
End Sub
Se fai un test vedrai che questo mette per bene il codice HTML nella prima cella. Il problema é che il codice che mi serve é sul sito del mio fornitore che é protetto da password (nei codici sopra ho messo google solo come esempio). Questo secondo codice praticamente mi scarica il sorgente della pagina di verifica password e non la pagina che interessa a me.
Con il tuo codice, invece, le pagine si aprono bene. Basta solo mettere USER e PASS la prima volta. Quindi mi interesserebbe sviluppare più la tua soluzione, anche se la seconda sarebbe proprio perfetta perché non mi apre nemmeno il browser per prendere il codice ed é comodissimo.
Mi sento a un passo dalla soluzione ma non ci arrivo per troppa ignoranza. Stanotte ho fatto le 5 a cercare sui vari forum. Se mi aiuti a risolvere ti faccio un monumento