Frage : ServerXMLHTTP in Excel - wie man Fehlermeldungen auf dem Schirm sperrt?

Hallo, bekannt gab

david251 den Code unten - danken Ihnen übrigens rigens - und ich änderte ihn.
I möchten Abschaltungen selbst behandeln (indem es wieder versucht), aber leider erhalte ich diese Mitteilung:
the Mitteilung, tue ich nicht want
 327783

and die Programmanschläge. :- (

So wunderte ich, wenn es irgendeine Wahrscheinlichkeit gibt, Störungen zu sperren führen zu eine Mitteilung auf dem Schirm.

Thank Sie sehr viel für jedes tip.

Christine
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
Dim objHTTP als ServerXMLHTTP
    Schwaches RetryCnt
    RetryCnt = 3
    Während RetryCnt > 0
        objHTTP einstellen = neues ServerXMLHTTP
        objHTTP.Open „ERHALTEN“, sURL
        objHTTP.setRequestHeader „Benutzer-Mittel“, „Mozilla/4.0 (kompatibel; MSIE 6.0; Windows NT 5.0)“
        objHTTP.send
        objHTTP.WaitForResponse 1
        GetHTMLServerXMLHTTP = objHTTP.responseText
        RetryCnt = RetryCnt - 1
        Wenn GetHTMLServerXMLHTTP <> "" dann RetryCnt = -1
    Wend
    Wenn RetryCnt = 0 dann GetHTMLServerXMLHTTP = „1 - Abschaltung; kann nicht an Bediener anschließen“
    objHTTP einstellen = nichts

Antwort : ServerXMLHTTP in Excel - wie man Fehlermeldungen auf dem Schirm sperrt?

Ich bin nicht sicher, wie man die oben genannte Codefunktion erhält. Dieses ist Code, den ich pflege, um auf Webseiten zurückzugreifen. Es ist drittes oder der vierten Generation und recht robustes. Dieses ist ein komplettes Codemodul.

'clsInternetConnection
'
'Kategorie zur Verfügung stellt functionalty, um Webseiten zu lesen.
'
'Eingeführt wie ein Kategorienmodul für Gebrauch mit irgendeinem VB oder VBA Projekt.
'
'© Kevin 2008-2010 M. Jones

Wahl ausdrücklich

Privates Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Privates Const INTERNET_FLAG_RELOAD = &H80000000
Privates Const INTERNET_FLAG_PRAGMA_NOCACHE = &H100
Privates Const INTERNET_OPTION_RECEIVE_TIMEOUT als lang = 6

Privates Const UserAgent = „VB“

Privates mConnectionHandle als lang
Private mTimeoutSeconds als lang

Privat Funktion InternetCloseHandle Bibliothek „wininet“ erklären (_
     ByRef hInet als langes _
  ) Als lang

Privat Funktion InternetOpen Bibliothek „wininet“ alias „InternetOpenA“ erklären (_
     ByVal sAgent als Schnur, _
     ByVal lAccessType als lang, _
     ByVal sProxyName als Schnur, _
     ByVal sProxyBypass als Schnur, _
     ByVal lFlags als langes _
  ) Als lang

Privat Funktion InternetOpenUrl Bibliothek „wininet“ alias „InternetOpenUrlA“ erklären (_
     ByVal hInternetSession als lang, _
     ByVal lpszUrl als Schnur, _
     ByVal lpszHeaders als Schnur, _
     ByVal dwHeadersLength als lang, _
     ByVal dwFlags als lang, _
     ByVal dwContext als langes _
) Als lang

Privat Funktion InternetReadFile Bibliothek „wininet“ erklären (_
     ByVal hFile als lang, _
     ByVal sBuffer als Schnur, _
     ByVal lNumBytesToRead als lang, _
     lNumberOfBytesRead als langes _
  ) Als ganze Zahl
 
Privat Funktion InternetSetOption Bibliothek „wininet.dll“ alias „InternetSetOptionA“ erklären (_
     ByVal hInternet als lang, _
     ByVal dwOption als lang, _
     ByRef lpBuffer als irgendwelche, _
     ByVal dwBufferLength als langes _
  ) Als lang

Privates VorClass_Initialize ()

  mConnectionHandle = InternetOpen (UserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
  Wenn mConnectionHandle = 0 dann
     MsgBox „nicht imstande, einen Internetanschluss zu öffnen. Die höchstwahrscheinliche Ursache ist zu viele Handgriffe verursacht worden.“
  Beenden wenn
  mTimeoutSeconds = 30

Enden-Unterseeboot

Privates VorClass_Terminate ()

  InternetCloseHandle mConnectionHandle
     
Enden-Unterseeboot

Allgemeine Funktion GetWebPage (_
     ByVal URL als Schnur, _
     Wahlweise freigestelltes ByVal ProxyUserID als Schnur, _
     Wahlweise freigestelltes ByVal ProxyPassword als Schnur, _
     Wahlweise freigestelltes ByVal TimeoutSeconds als langes _
  ) Als Schnur

'Eine Webseite erhalten.
'
'Syntax
'
'GetWebPage (URL, [ProxyUserID], [ProxyPassword])
'
'URL - Ein komplettes URL zu einer Webseite.
'
'ProxyUserID - die Benutzernummer für den Proxy-Server, wenn überhaupt. Wahlweise freigestellt. Wenn Sie ausgelassen
'dann angenommen kein Proxy-Server n.
'
'ProxyPassword - das Kennwort für den Proxy-Server. Wahlweise freigestellt. Ignoriert wenn
'ProxyUserID ausgelassen en.
'
'TimeoutSeconds - die Zahl den Sekunden, zum zu warten, bis heraus festsetzen. Wahlweise freigestellt.
', wenn sie dann ausgelassen, verwendet 30 Sekunden.

  Schwaches ConnectionHandle als lang
  Schwaches URLHandle als lang
  Schwaches BytesRead als lang
  Schwaches Resultat, wie Boolesch
  Schwaches InputBuffer als Schnur * 10000
  Schwaches PageContent als Schnur
  Schwaches SecurityData als Schnur
 
   Wenn Len (ProxyUserID) > 0 dann
     SecurityData = ProxyUserID
     Wenn Len (ProxyPassword) > 0 dann
        SecurityData = SecurityData u. „: “ U. ProxyPassword
     Beenden wenn
     SecurityData = SecurityData u. „@“
     URL = ersetzen (URL, „: /“, „: /“ u. SecurityData)
  Beenden wenn
 
   Wenn TimeoutSeconds = 0 dann TimeoutSeconds = mTimeoutSeconds
 
   Wenn mConnectionHandle <> 0 dann
     Resultat = InternetSetOption (mConnectionHandle, INTERNET_OPTION_RECEIVE_TIMEOUT, TimeoutSeconds * 1000, Len (TimeoutSeconds))
     URLHandle = InternetOpenUrl (mConnectionHandle, URL, vbNullString, 0, INTERNET_FLAG_RELOAD oder INTERNET_FLAG_PRAGMA_NOCACHE, 0)
     Wenn URLHandle <> 0 dann
        Tun
           InputBuffer = vbNullString
           Resultat = InternetReadFile (URLHandle, InputBuffer, Len (InputBuffer), BytesRead)
           PageContent = PageContent u. verließen (InputBuffer, BytesRead)
        Schlingen während BytesRead > 0
        InternetCloseHandle URLHandle
     Beenden wenn
  Beenden wenn
 
   GetWebPage = PageContent
 
Enden-Funktion

Staatseigentum erhalten ValidInternetConnection () wie Boolesch

  ValidInternetConnection = mConnectionHandle <> 0

Enden-Eigentum

Staatseigentum erhalten TimeoutSeconds () als lang

  TimeoutSeconds = mTimeoutSeconds

Enden-Eigentum

Staatseigentum ließ TimeoutSeconds (_
     ByVal Wert als langes _
  )

  mTimeoutSeconds = Wert

Enden-Eigentum

Kevin
Weitere Lösungen  
 
programming4us programming4us