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 :

Problème de compréhension de syntaxe d'une fonction VBS


Sujet :

VBScript

  1. #1
    Nouveau membre du Club Avatar de Bidulbuk
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 51
    Points : 29
    Points
    29
    Par défaut Problème de compréhension de syntaxe d'une fonction VBS
    Bonjour à tous,

    Je reviens vers vous car j'essaye de régler un script dans un logiciel et, malgré des recherches sur le net, je n'arrive pas à rédiger correctement ma phrase de script.

    Il s'agit d'une recherche de caractère toute bête et je voudrais activer la casse mais je n'arrive pas à comprendre la syntaxe à utiliser.

    La syntaxe est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Function find(what As String, Optional caseSensitive As Variant) Boolean
    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.activeWindow.title.find("montexte", caseSensitive = true)
    Ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.activeWindow.title.find("montexte", true)
    Mais ça me renvoie une erreur...

    Quelqu'un.e pour m'éclairer ?

    Merci !

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    Salut

    La fonction n'est pas en langage VBScript puisque les variables sont typées.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Nouveau membre du Club Avatar de Bidulbuk
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    Merci de la réponse !

    Je ne comprends pas, la fonction fonctionne parfaitement si je me contente de chercher juste du texte (toutes les fonctions que j'utilise avec ce logiciel ont une grammaire similaire et la plupart fonctionnent).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.activeWindow.title.find("mon texte")
    Ca ça fonctionne très bien. Ca concernerait seulement les options ?

    PS : je précise que ce n'est pas moi qui ai rédigé la fonction, elle est inscrite par défaut dans le logiciel.

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    Re

    Function find(what As String, Optional caseSensitive As Variant) Boolean, c'est bizarre,
    Function find(what As String, Optional caseSensitive As Variant) As Boolean je m'attendrait plutôt avec le typage de la fonction, donc As.

    caseSensitive étant un variant, il faudrait connaitre comment et traité ce variant dans la fonction pour savoir quoi lui proposer pour qu'il l’interprète correctement pour rendre la recherche sensitive au minuscule/majuscule.
    As tu le code de la fonction à nous mettre ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Nouveau membre du Club Avatar de Bidulbuk
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    Je vais essayer de le trouver mais je ne promets rien... C'est un vieux logiciel dont la doc' n'est plus mise à jour. Tu penses que je peux trouver le code de la fonction dans les fichiers installés avec le programme ?

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    Salut
    Citation Envoyé par Bidulbuk Voir le message
    Tu penses que je peux trouver le code de la fonction dans les fichiers installés avec le programme ?
    Quelle est le logiciel désigné par la variable application, quel nom du logiciel correspond à application ?
    Si c'est du VBA il sera peut être possible de trouver le code de la fonction.
    Personnellement j'ai fait des recherche avec Google mais pas trouvez avec les mots find(what As String, Optional caseSensitive As Variant)
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    J'ai trouvé application.activeWindow.title.find("mon texte"),true, mais cela me parait bizarre comme syntaxe.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Nouveau membre du Club Avatar de Bidulbuk
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    Effectivement, je viens de tester et la syntaxe marche !

    Où est-ce que tu as pu trouver la référence ? Le logiciel s'appelle WinIBW, c'est un logiciel de bibliothèque et il fonctionne avec du VBS (et je suis preneur de toute source d'information dessus).

    Merci beaucoup !

  9. #9
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    Re
    Citation Envoyé par Bidulbuk Voir le message
    ....
    Où est-ce que tu as pu trouver la référence ?
    J'ai entre autre taper "activeWindow.title.find(" dans le moteur de recheche Google, puis sur chaque pages/liens, avec Ctrl+F, recherche das la page ces mêmes mots.
    La page est: http://documentation.abes.fr/sudoc/m..._installer.txt

    Citation Envoyé par Bidulbuk Voir le message
    ....
    Le logiciel s'appelle WinIBW, c'est un logiciel de bibliothèque et il fonctionne avec du VBS (et je suis preneur de toute source d'information dessus)
    Justement dans la même recherche, il y a plusieurs liens sur le sujet WinIBW.

    Citation Envoyé par Bidulbuk Voir le message
    Effectivement, je viens de tester et la syntaxe marche !
    là est bien l’essentiel.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  10. #10
    Nouveau membre du Club Avatar de Bidulbuk
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    Alors, je viens de constater que si j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.activeWindow.title.find("montexte", true)
    Ca me renvoie bien l'erreur suivante : "L'appel d'une fonction Sub n'admet pas de parenthèses".

    Mais si je place tout ça dans une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cherche = application.activeWindow.title.find("montexte", true)
    Ca fonctionne parfaitement...

  11. #11
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 296
    Points : 3 549
    Points
    3 549
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    J'ai trouvé application.activeWindow.title.find("mon texte"),true, mais cela me parait bizarre comme syntaxe.
    bonsoir,

    juste une subtilité du VBS très largement méconnue
    dans ce cas précis, le premier argument (la chaine) est passé par valeur et le second par références

    les explications du père du VBS 5.5, Eric Lippert

    PS : une doc sur les scripts
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de syntaxe pour une fonction
    Par gero123 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 27/07/2007, 12h11
  2. [MySQL] Problème de récupération des données dans une fonction
    Par highman dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/10/2006, 20h04
  3. syntaxe d'une fonction
    Par john491 dans le forum Général Python
    Réponses: 2
    Dernier message: 01/05/2006, 23h44
  4. Réponses: 9
    Dernier message: 13/05/2005, 03h13
  5. compréhension du profil d'une fonction
    Par lor dans le forum MFC
    Réponses: 7
    Dernier message: 08/01/2004, 12h59

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