Automatisation des Erreurs: 800706B5, 80004005, 80010108 apparaissent interne SAP site gratter

Je suis en train d'écrire une macro qui permet de gratter mes internes à l'entreprise, SAP site pour l'information sur le fournisseur. Pour plusieurs raisons, j'ai utiliser VBA pour le faire. Cependant, je ne peux pas comprendre pourquoi je reçois ces trois erreurs lorsque j'essaie de gratter la page. Est-il possible que cela a quelque chose à voir avec la Contrôle de compte d'utilisateur de l'intégrité du modèle? Ou est-il quelque chose de mal avec mon code? Est-il possible pour une page web à l'aide de http peut être géré différemment dans internet explorer? Je suis capable d'aller à une page web, même d'autres pages web, et peut gratter chacun de ceux qui viennent d'amende. Mais quand je tente de me gratter la SÈVE de la page, j'obtiens ces erreurs. La description des erreurs et quand ils se produisent sont:

800706B5 - L'interface est inconnue (qui se produit lorsque je place des points d'arrêt avant d'exécuter le code fautif)

80004005 - non spécifié erreur se produit lorsque je n'ai pas d'erreurs et de laisser la macro à exécuter)

80010108 - L'Objet invoqué s'est déconnecté de ses clients. (Je n'arrive pas à obtenir une cohérence de l'apparition de cette erreur, il semble se passer dans le temps que quelque chose dans excel est tellement corrompu qu'aucun chargement de la page et j'ai réinstaller excel)

Je n'ai absolument aucune idée de ce qui se passe. L'Intégrité de la page n'a pas beaucoup de sens pour moi, et toutes les recherches que j'ai trouvé sur ce parlé de la connexion à des bases de données et à l'aide d'ADO et références COM. Cependant, je fais tout par Internet Explorer. Voici mon code ci-dessous:

Private Sub runTest_Click()
   ie.visible = True
   doScrape
End Sub
'The code to run the module
Private Sub doTest()
   Dim result As String
   result = PageScraper.scrapeSAPPage("<some num>")
End Sub

PageScraper Module

Public Function scrapeSAPPage(num As Long) As String
   'Predefined URL that appends num onto end to navigate to specific record in SAP
   Dim url As String: url = "<url here>" 
   Dim ie as InternetExplorer
   set ie = CreateObject("internetexplorer.application")
   Dim doc as HTMLDocument

   ie.navigate url 'Will always sucessfully open page, regardless of SAP or other
   'pauses the exection of the code until the webpage has loaded
   Do
     'Will always fail on next line when attempting SAP site with error
     If Not ie.Busy And ie.ReadyState = 4 Then 
        Application.Wait (Now + TimeValue("00:00:01"))
        If Not ie.Busy And ie.ReadyState = 4 Then
           Exit Do
        End If
     End If
     DoEvents
   Loop

   Set doc = ie.document 'After implementation of Tim Williams changes, breaks here
   'Scraping code here, not relevant

 End Function

J'utilise IE9 et Excel 2010 sur une machine Windows 7. Toute aide ou insight, vous pouvez fournir serait grandement apprécié. Merci.

Qu'advient-il si vous remplacez votre Do boucle avec un seul, mais plus long (par exemple 5 ou 10 sec) appel à Wait ? Ça marche alors?
Qui a pu m'obtenir passé le problème de l'interface avec le .busy et .Readystate, mais il renvoie toujours le message d'erreur quand j'essaie de faire autre chose, comme récupérer le document html. Une idée de pourquoi ce qui se passe?
Est votre PageScraper objet peut-être de sortir de la portée à un certain point?
Non, je ne peux pas voir tout point où il serait hors de portée. J'ai ajouté la ligne suivante, où il se casse après votre suggestion. À ce stade, il est le seul module qui est en cours d'exécution. Je suis l'aide d'une classe de test qui est prévu pour servir de ce module.
Set doc = ie.document ?? Et quel est le message d'erreur exact?

OriginalL'auteur derigible | 2012-08-10