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
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
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
71
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