Erreur d'exécution 91 après compilation

Résolu
bensabin Messages postés 5 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 2 septembre 2007 - 6 juil. 2006 à 04:00
bensabin Messages postés 5 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 2 septembre 2007 - 6 juil. 2006 à 12:24
Bonjour, j'ai fait un petit programme qui a pour objectif de récupérer le code source d'une page HTML dans un fichier texte dons voici les quelques lignes:

    Dim strsrc As String

    Private Sub Command1_Click()
    strurl = TxtUrl.Text
    WebBrowser1.Navigate strurl
    End Sub

    Private Sub WebBrowser1_DownloadComplete()
    strsrc = WebBrowser1.Document.documentElement.innerHTML
    Open "c:\1.txt" For Output As #1
    Print #1, strsrc
    Close #1
    End Sub

le programme fonctionne correctement tant que je ne l'ai pas compilé, cependant après compilation lorsque je lance mon exécutable, l'erreur suivante apparaït: "Erreur d'exécution '91': Variable objet ou variable bloc With non définie"
Quelqu'un pourrait-il m'éclairer sur les raisons de cette erreur?

5 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 juil. 2006 à 09:09
Salut,

En recopiant ton code tel quel, et sans avoir besoin de compiler, j'ai cette meme erreur sur cette ligne

strsrc = WebBrowser1.Document.documentElement.innerHTML

Pourquoi?

Car a cet instant WebBrowser1.Document = Nothing

Essaie de voir is tu as cette meme erreur SANS Compiler

> mortalino:
- Si il a mis Option Explicit, VB6 ne l'aurait pas laisser compiler tant qu il n'a pas declarer TOUTES les variables.
- Si il n'a pas mis Option Explicit, Cela compile mais ne te genère pas d'erreur.

L'erreur 91 arrive lorsqu on veut atteindre un propriété (procedure...) d'un objet = Nothing.

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée, Règlement/FONT>
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 juil. 2006 à 11:03
la moindre des choses est de faire un test....

strsrc = WebBrowser1.Document.documentElement.innerHTML

deviendrais donc :

If Not WebBrowser1.Document Is Nothing Then
   strsrc = WebBrowser1.Document.documentElement.innerHTML
End If

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
6 juil. 2006 à 04:06
Salut,

Je ne pense pas que ce soit lié mais bon, sait-on jamais :

Dim strsrc As String '<= pourquoi pas strurl aussi ?
Dim strurl As String ' là c'est mieux ! lol

Private Sub Command1_Click()
strurl = TxtUrl.Text
WebBrowser1.Navigate strurl
End Sub

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement !
0
bensabin Messages postés 5 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 2 septembre 2007
6 juil. 2006 à 10:54
Merci pour vos réponses, d'habitude j'utilise toujours Option Explicit mais là j'avais vite retapé le code sans faire attention.

Sinon, j'ai retappé le code dans un nouveau projet et l'erreur se manifeste effectivement avant la compilation cette fois-ci.

L'erreur est effctivement dûe au fait que WebBrowser1.Document = Nothing.

Tout fonctionne lorsque l'on agit de la sorte:

        Option Explicit
        Dim strsrc As String
        Dim strurl As String

        Private Sub Form_Load()

        WebBrowser1.navigate ""

        End Sub

        Private Sub Command1_Click()
        strurl = txturl.Text
        WebBrowser1.navigate strurl
        strsrc = WebBrowser1.document.documentElement.innerHTML
        End Sub

        Private Sub WebBrowser1_DownloadComplete()
        Open "c:\1.txt" For Output As #1
        Print #1, strsrc
        Close #1
        End Sub

Cependant ce procédé ne me semble pas très coorect étant donné que la procédure WebBrowser1_DownloadComplete() s'effectue inutilement  au démarrage.
Enfin c'est déjà un moindre mal mais si quelqu'un a mieu à me proposer je suis toujours prenneur
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bensabin Messages postés 5 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 2 septembre 2007
6 juil. 2006 à 12:24
Oui effectivement... C'était la moindre des choses
Merci beaucoup, ca fonctionne impec maintenant....
0
Rejoignez-nous