Non sono sicuro come ottenere il funzionamento di cui sopra di codice. Ciò è codice che uso per accedere ai Web pagi. È terza o della quarta generazione ed abbastanza robusta. Ciò è un modulo completo di codice.
'clsInternetConnection
'
'Il codice categoria fornisce functionalty per leggere i Web pagi.
'
'D'applicazione come un modulo del codice categoria per uso con qualsiasi progetto di VBA o di VB.
'
'© Kevin 2008-2010 M. Jones
Opzione esplicita
Const riservato INTERNET_OPEN_TYPE_PRECONFIG = 0
Const riservato INTERNET_FLAG_RELOAD = &H80000000
Const riservato INTERNET_FLAG_PRAGMA_NOCACHE = &H100
Const riservato INTERNET_OPTION_RECEIVE_TIMEOUT come lungamente = 6
Const riservato UserAgent = “VB„
mConnectionHandle riservato come lungamente
mTimeoutSeconds riservati come lungamente
Riservato dichiarare il movimento di liberazione “wininet„ di InternetCloseHandle di funzione (_
hInet di ByRef come lungo _
) Come lungamente
Riservato dichiarare il movimento di liberazione “il wininet„ altrimenti detto “InternetOpenA„ di InternetOpen di funzione (_
ByVal sAgent come stringa, _
lAccessType di ByVal come lungamente, _
sProxyName di ByVal come stringa, _
sProxyBypass di ByVal come stringa, _
lFlags di ByVal come lungo _
) Come lungamente
Riservato dichiarare il movimento di liberazione “il wininet„ altrimenti detto “InternetOpenUrlA„ di InternetOpenUrl di funzione (_
hInternetSession di ByVal come lungamente, _
lpszUrl di ByVal come stringa, _
lpszHeaders di ByVal come stringa, _
dwHeadersLength di ByVal come lungamente, _
dwFlags di ByVal come lungamente, _
dwContext di ByVal come lungo _
) Come lungamente
Riservato dichiarare il movimento di liberazione “wininet„ di InternetReadFile di funzione (_
ByVal hFile come lungamente, _
sBuffer di ByVal come stringa, _
lNumBytesToRead di ByVal come lungamente, _
lNumberOfBytesRead come lungo _
) Come numero intero
Riservato dichiarare il movimento di liberazione “wininet.dll„ altrimenti detto “InternetSetOptionA„ di InternetSetOption di funzione (_
hInternet di ByVal come lungamente, _
dwOption di ByVal come lungamente, _
lpBuffer di ByRef come c'è ne, _
dwBufferLength di ByVal come lungo _
) Come lungamente
Class_Initialize secondario riservato ()
mConnectionHandle = InternetOpen (UserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
Se mConnectionHandle = 0 allora
MsgBox “incapace di aprire un collegamento a Internet. La causa più probabile è troppe maniglie è stata generata.„
Concluder se
mTimeoutSeconds = 30
Sommergibile dell'estremità
Class_Terminate secondario riservato ()
mConnectionHandle di InternetCloseHandle
Sommergibile dell'estremità
Funzione pubblica GetWebPage (_
URL di ByVal come stringa, _
ByVal facoltativo ProxyUserID come stringa, _
ByVal facoltativo ProxyPassword come stringa, _
ByVal facoltativo TimeoutSeconds come lungo _
) Come stringa
'Ottenere un Web page.
'
'Sintassi
'
'GetWebPage (URL, [ProxyUserID], [ProxyPassword])
'
'URL - Un URL completo ad un Web page.
'
'ProxyUserID - l'identificazione usuario per il proxy server, se ce n'è. Facoltativo. Se omesso
'allora nessun proxy server è presupposto.
'
'ProxyPassword - la parola d'accesso per il proxy server. Facoltativo. Ignorato se
'ProxyUserID è omesso.
'
'TimeoutSeconds - il numero dei secondi da attendere fino a cronometrare fuori. Facoltativo.
'Se allora omesso 30 secondi è usato.
ConnectionHandle fioco come lungamente
URLHandle fioco come lungamente
BytesRead fioco come lungamente
Risultato fioco come booleano
InputBuffer fioco come stringa * 10000
PageContent fioco come stringa
SecurityData fioco come stringa
Se Len (ProxyUserID) > 0 allora
SecurityData = ProxyUserID
Se Len (ProxyPassword) > 0 allora
SecurityData = SecurityData & “: „ & ProxyPassword
Concluder se
SecurityData = SecurityData & “@„
Il URL = sostituisce (URL, “: /„, “: /„ & SecurityData)
Concluder se
Se TimeoutSeconds = 0 allora TimeoutSeconds = mTimeoutSeconds
Se mConnectionHandle <> 0 allora
Risultato = InternetSetOption (mConnectionHandle, INTERNET_OPTION_RECEIVE_TIMEOUT, TimeoutSeconds * 1000, Len (TimeoutSeconds))
URLHandle = InternetOpenUrl (mConnectionHandle, URL, vbNullString, 0, INTERNET_FLAG_RELOAD o INTERNET_FLAG_PRAGMA_NOCACHE, 0)
Se URLHandle <> 0 allora
Fare
InputBuffer = vbNullString
Risultato = InternetReadFile (URLHandle, InputBuffer, Len (InputBuffer), BytesRead)
PageContent = PageContent & hanno andato (InputBuffer, BytesRead)
Collegare mentre BytesRead > 0
InternetCloseHandle URLHandle
Concluder se
Concluder se
GetWebPage = PageContent
Funzione di conclusione
La proprietà pubblica ottiene ValidInternetConnection () come booleana
ValidInternetConnection = mConnectionHandle <> 0
Proprietà dell'estremità
La proprietà pubblica ottiene TimeoutSeconds () come lungamente
TimeoutSeconds = mTimeoutSeconds
Proprietà dell'estremità
La proprietà pubblica ha lasciato TimeoutSeconds (_
Valore di ByVal come lungo _
)
mTimeoutSeconds = valore
Proprietà dell'estremità
Kevin