IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

VBS + HTA - Objet requis Wscript


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 20
    Par défaut VBS + HTA - Objet requis Wscript
    Bonjour à tous et par avance merci pour votre aide.

    J'ai élaboré un HTA contenant uniquement des scripts en VBS. Mon outil fonctionnait très bien jusqu'à ce qu'on migre sous IE10...

    Dorénavant j'ai pleins de petites erreurs, certaines que j'ai pu contourner et d'autres que je n'arrive pas à corriger.
    Par exemple, j'ai un compteur qui tourne pour faire boucler un Sub toutes les 30s. Une fois que j'ai trouvé la valeur souhaitée (réponse d'un serveur), je quitte le script afin d'arrêter l'exécution du compteur. J'utilise un "Wscript.Quit" lorsque la valeur est trouvée et affichée à l'écran.

    Depuis IE10, j'ai toujours un message "Objet requis : 'wscript'"... Ce que je n'avais pas avec IE8...

    J'ai bien tenté en faisant un Exit Sub, sauf que mon compteur est démarré indépendamment et du coup je ne fais que stopper ma boucle en cours et non le script au complet...

    Auriez vous une idée ?

    Au besoin je peux vous transmettre un zip de mon outil.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Postez votre code et

  3. #3
    Membre averti
    Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 20
    Par défaut
    Citation Envoyé par hackoofr Voir le message

    Postez votre code et
    Je tiens vraiment à préciser qu'avec IE8, je n'avais aucun problème, cette anomalie apparaît depuis que je suis passé sous IE10.

    Voici un bout du code car mon fichier HTA fait 900 lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
     ' fonction alerte
     
    Sub AlerteParc
     
    ' Recherche de la personne détenant le fichier Parc
     
    ' Appel du fichier .bat pour écriture dans fichier txt
     
    set WshShell = CreateObject("WScript.Shell")
     
    ' 0 = invisible true = attendre la fin de l'exécution du script
     
    oProgramFiles = WshShell.ExpandEnvironmentStrings("%PROGRAMFILES%")
    oCheminLANMANSERVER = oProgramFiles&"\GMA-Tools\Config\LanManServer.bat"
    	if inStr(oCheminLANMANSERVER," ") > 0 then 
    	oCheminLANMANSERVER = """" & oCheminLANMANSERVER & """" 
    	WshShell.Run oCheminLANMANSERVER,0 , true 'chemin program files
    	end if
     
    ' définition du fichier Parc pour recherche dans base sur serveur SRVINST
     
    FichierAlerteParc = ("D:\..\GMA\Commun\Parc.xlsm")
     
    ' ouverture du fichier de log pour recherche
     
    Set MyObject = CreateObject("Scripting.FileSystemObject") 
    Set MyFile = MyObject.GetFile("C:\temp\LanManServer.txt") 
    Set OpenFile = MyFile.OpenAsTextStream(1) 
     
    ' Recherche de la ligne contenant la chaine FichierAlerteParc
     
    While Not OpenFile.AtEndOfStream
     
     CurrentLine = OpenFile.ReadLine 
     
     If Instr(UCase(CurrentLine), UCase(FichierAlerteParc)) > 0 Then 
     
    	Exit Sub
     
     End If
     
    Wend
     
    If OpenFile.AtEndOfStream = True then
     
    Msgbox "Le fichier Parc.xlsm est libre.", vbSystemModal + vbInformation
     
    wscript.quit
     
    End If
     
    End Sub
     
    ' mise en place fonction temps actu toutes les 5 secondes
     
    Sub TimerParc
     
    window.setInterval "AlerteParc", 5000, "VBScript"
     
    End Sub

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut
    Avec une boucle Do....Loop ? ligne 33 à 43 de ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Do While Not OpenFile.AtEndOfStream
     
     CurrentLine = OpenFile.ReadLine
     
     If InStr(UCase(CurrentLine), UCase(FichierAlerteParc)) > 0 Then
     
        Exit Do
     
     End If
     
    Loop
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre averti
    Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 20
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut
    Avec une boucle Do....Loop ? ligne 33 à 43 de ton code
    Je ne comprend pas ce que tu veux dire... En modifiant ma boucle je ne ferai que stopper l'exécution du Sub AlerteParc mais mon Timer va le relancer après le temps imparti... J'aurai donc mon msgbox en boucle...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub TimerParc
     
    window.setInterval "AlerteParc", 5000, "VBScript"
     
    End Sub
    Mon problème ce situe sur le wscript.quit qui me permet de stopper le Timer et me rapporte une erreur "Objet requis : wscript".

  6. #6
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut
    Citation Envoyé par Sysmic76 Voir le message
    Au besoin je peux vous transmettre un zip de mon outil.
    Oui, je crois que c'est mieux en pièce-jointe

  7. #7
    Membre averti
    Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 20
    Par défaut
    Citation Envoyé par hackoofr Voir le message
    Oui, je crois que c'est mieux en pièce-jointe
    Je viens de modifier mon post en conséquence. Vous n'aurez pas accès à beaucoup de choses mais l'anomalie principal ce situe sur les alertes qui sont exécutées par les Timer (en début du HTA). La sortie du script par le wscript.quit est possible mais provoque l'erreur "objet requis : wscript".

    Pour expliquer le but de l'outil, il permet de vérifier si les fichiers sont utilisés et par qui. Si le fichier est utilisé, je demande si l'utilisateur veut être alerté par un message lorsque le fichier sera disponible en écriture.

    Je reste à votre disposition au besoin.

    Merci.

Discussions similaires

  1. Objet requis: 'expXpath', contourner l'erreur
    Par totoche dans le forum ASP
    Réponses: 3
    Dernier message: 09/11/2006, 14h35
  2. [POO] objet requis dans choix de bouton radio
    Par allowen dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/11/2005, 13h46
  3. Objet requis qu'il me dit
    Par Grosmou dans le forum Access
    Réponses: 15
    Dernier message: 27/09/2005, 07h41
  4. Erreur Objet requis : 'this' --> Comprend pas!!
    Par Grozeil dans le forum ASP
    Réponses: 3
    Dernier message: 30/03/2005, 09h46
  5. Erreur "Objet requis"
    Par cindaille dans le forum Access
    Réponses: 5
    Dernier message: 26/10/2004, 00h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo