Leggere il codice HTML di una pagina Web con VB6 ed MSHTML
L'oggetto MSHTML permette in Visual Basic 6 di eseguire una serie di operazioni legate ad Internet ed alle pagine Web.
Vediamo in questo articolo come fare, attraverso un form VB6 accuratamente costruito, a leggere il codice HTML remoto di una pagina Web.
Apriamo la nostra copia di Visual Basic 6 e creiamo un nuovo EXE. Creiamo un form e disegnamolo come nell'immagine che segue che rappresenta il risultato finale dell'articolo in oggetto:

La casella di testo si chiamerà txtUrl e le assegneremo come testo di default "http://".
La textarea si chiamerà txtCodiceHTML, cancelleremo il testo contenuto, imposteremo su True la proprietà Multiline ed abiliteremo le Scrollbar in orizzontale ed in verticale.
Il bottone di comando si chiamerà cmdCodiceHTML.
Prima di proseguire dobbiamo importare il riferimento alla libreria MSHTML il cui nome completo è Microsoft HTML Object Library.
Accediamo al menu:
Progetto / Riferimenti...localizziamo la voce, selezioniamola e confermiamo la selezione, come documentato nell'immagine che segue:

Private Sub cmdCodiceHTML_Click()
Dim oggetto As New MSHTML.HTMLDocument
Dim documento As MSHTML.HTMLDocument
Set documento = oggetto.createDocumentFromUrl(txtUrl.Text, vbNullString)
Do While documento.readyState <> "complete"
DoEvents
Loop
txtCodiceHTML.Text = documento.documentElement.outerHTML
Set documento = Nothing
Set oggetto = Nothing
End Sub
Il codice è semplice: dichiariamo due volte l'oggetto, servendoci per dei controlli incrociati; apriamo l pagina Web attraverso il metodo createDocumentFromUrl.
Effetuiamo un ciclo fino al raggiungimento dello stato "complete", quindi fino alla fine del documento.
Inseriamo nella textarea il testo del codice HTML attraverso la proprietà di sola lettura (ovviamente) outerHTML.







