pourquoi alors le script suivant ne fonctionnne pas ? Script essai () var object o
let o = getObject("freedomSCI.jawsapi") if o then SayString ("oui") endif ? ? EndScript ----- Original Message ----- From: "yannick" <philao...@yahoo.fr> To: <progliste@ml.free.fr> Sent: Wednesday, February 22, 2012 5:30 PM Subject: [progliste] Re: comment exécuter du VBScript en jaws script > > slt, je n'ai pas office, mais en lisant le code, toute mes félicitation ! > je n'ai jamais réussi à utiliser getObject (mes tests se sont fait dans > skype ) > vraiement impressionnnant, si tu dois le faire évoluer, j'aiemerais bien > le > consulter ! > > ----- Original Message ----- > From: "Yannick Youalé" <mailtoloco2...@gmail.com> > To: <progliste@ml.free.fr> > Sent: Wednesday, February 22, 2012 5:08 PM > Subject: [progliste] Re: comment exécuter du VBScript en jaws script > > >> >> Salut les mecs ! >> >> Concernant ma mission qui était de trouver un moyen de rendre la fenêtre >> mode création de formulaire de microsoft access plus accessible, les >> choses >> ont évolué assez étrangement pour moi. >> >> En effet, en me documentant sur la fonction GetObject, je me suis rendu >> compte qu'il n'était pas nécessaire de passer par le VBScript pour >> arriver >> à >> mes fins. >> >> J'ai pû produire un script dans lequel je capte la reférence vers l'objet >> représentant la base de donnée access actuellement ouverte. >> Puis, par un cheminement plus ou moins ingénieux, j'arrive à trouver la >> reférence vers l'objet du formulaire en mode création sur lequel se >> trouve >> le focus. Ce qui me permet au final de pouvoir faire dire à jaws les >> propriétés de cet objet qui, sont à l'origine inaccessibles. >> >> Les applications possibles de cette nouvelle possibilité: >> >> * pouvoir, comme cela se fait dans les concepteurs graphique de >> formulaire >> du VB6, de word et d'excel, et qui se manipulent très bien par les >> aveugles, >> faire dire les changements dans les propriétés des objets en cours de >> manipulation. Cela en temps réel >> * pouvoir passer par jaws pour directement modifier les propriétés des >> objets de formulaire. Comme par exemple: le name, le caption, le left, le >> top, le width, le height. >> >> Ce qui, selon mes espérances, devrait grandement améliorer la facilité de >> création de formulaire et des objets qui les compose. >> >> Je vous collerais le script de test en question plus bas pour que vous >> voyiez mon cheminement. Mais avant, je dois vous avertir que je ne l'ai >> pour >> l'instant testé que dans office 2003, et que pour l'instant, vous devrez >> sélectionner manuellement le premier objet du formulaire. Après que ce >> soit >> fait, vous pourrez vous déplacer aux autres objets avec tab et maj+tab. >> Je rappelle que dans la fenêtre de création de formulaire, on sélectionne >> un >> objet en faisant: >> alt, >> ctrl+tab jusqu'à entendre "zone de liste déroulante objets", >> puis flèche haut ou bas pour sélectionner l'objet désiré, >> et on fait entrer. >> >> Le script fait dire le name, le left, et le top de l'objet du formulaire >> actuellement sélectionné. >> Bien entendu, ceci n'est qu'un script de test, mais qui contient les >> éléments essentiels pour ce qu'il deviendra dans le futur. >> >> Voici le script: >> >> Script TestLectureControlModeCreationFormulaireAccess () >> >> var >> >> handle hwnd, >> >> string s, >> >> object oAccess, >> >> object frm, >> >> object ctr, >> >> int i, >> >> int nb >> >> ; si on n'est pas sur un formulaire en mode création >> >> let hwnd = GetRealWindow (GetFocus ()) >> >> if isFormDesignView() == false >> >> || GetWindowClass (hwnd) != "OForm" >> >> then >> >> return >> >> endif >> >> ; on identifie l'objet application access >> >> let oAccess = GetObject ("Access.Application") >> >> if ! oAccess then >> >> return >> >> EndIf >> >> ; identification du formulaire de travail actuellement ouvert en mode >> création >> >> let nb = oAccess.Forms.Count ; le nombre de formulaires présent dans la >> BD >> Access ouverte >> >> let i = 0 ; initialisation du compteur >> >> while (i <= nb) >> >> ; si le handle de la fenêtre réelle est identique à un des handle des >> fenêtres de la BD >> >> if StringToHandle (oAccess.Forms(i).Hwnd) == hwnd then >> >> ; on reférencie le formulaireendscript >> >> >> >> let frm = oAccess.Forms(i) >> >> let i = nb ; on force la sortie de la boucle >> >> EndIf >> >> let i = i+1 >> >> EndWhile >> >> ; pour que la suite fonctionne correctement, il faudrait >> >> ; qu'un control soit sélectionné dans le formulaire ouvert en mode >> création. >> >> ; >> >> let ctr = frm.ActiveControl >> >> if ctr.Name == "" then ; aucun control sélectionné >> >> SayString ("Aucun control n'est sélectionné") >> >> SayString ("Pour pouvoir le faire, faite alt, puis ctrl+tab jusqu'à >> entendre >> 'zone de liste déroulante objets'. Utilisez les flèches de direction pour >> sélectionner un objet et faites entrer") >> >> return >> >> EndIf >> >> ; lecture du name du control et des ses coordonnées left et top >> >> SayString (ctr.name) >> >> SayString (ctr.left) >> >> SayString (ctr.top) >> >> EndScript >> >> >> Voila ! >> Lorsque j'aurais plus de temps, je me pencherais sur cette méthode pour >> pouvoir l'améliorer. >> >> Puisse tout cela nous être utile. >> >> Yannick Daniel Youalé >> La programmation est une religion. Aimez-la, ou quittez-la. >> >> >> ----- Original Message ----- >> From: "yannick" <philao...@yahoo.fr> >> To: <progliste@ml.free.fr> >> Sent: Wednesday, February 22, 2012 6:38 AM >> Subject: [progliste] Re: comment exécuter du VBScript en jaws script >> >> >>> >>> je ne sais pas détruire l'objet, mais peut être que la solution se >>> trouve >>> dans : >>> http://dl.dropbox.com/u/5497034/envoie/scriptcontrol.VSNT >>> >>> sinon, dans ton code tu n'utilise pas de méthode eval qui permet >>> d'executer >>> le code . >>> de plus, je crois que l'on peut executer que des fonction créé par toi >>> même >>> donc , essaie de le mettre dans une procedure (pas sûr à 100% tes tests >>> nous >>> le confirmleront ou pas ) >>> >>> ----- Original Message ----- >>> From: "Yannick Youalé" <mailtoloco2...@gmail.com> >>> To: <progliste@ml.free.fr> >>> Sent: Wednesday, February 22, 2012 4:47 AM >>> Subject: [progliste] comment exécuter du VBScript en jaws script >>> >>> >>>> >>>> Salut à tous ! >>>> >>>> Actuellement, j'essaie via les scripts jaws de donner plus >>>> d'accessibilité >>>> à microsoft access, notamment dans la fenêtre de formulaire en mode >>>> création. >>>> >>>> Dans un autre projet, j'ai réussi à utiliser le VBScript pour donner >>>> des >>>> informations, voir modifier les controls d'une fenêtre de formulaire >>>> créée >>>> en VB6. Je voudrais donc faire la même chose en VBA. >>>> >>>> Mais, jusqu'ici, en m'inspirant de l'exemple produit par Yannick dans >>>> son >>>> script pour notepad avec le langage python, je n'ai pas pu faire >>>> exécuter >>>> le moindre code VBScript. >>>> >>>> Voici ce que j'ai eu à confectionner comme code : >>>> >>>> Script TestVBScript () >>>> ; script de test du VBScript >>>> var >>>> >>>> object scripting >>>> >>>> let scripting =CreateObjectEx ("MSScriptControl.ScriptControl", 0) >>>> >>>> let scripting.language ="VBScript" >>>> >>>> scripting.addCode ("MsgBox 'Bonjour tout le monde !'") >>>> >>>> EndScript >>>> >>>> Merci de me dire où se trouve l'erreur. >>>> >>>> Et par ailleurs, comment détruire à coup sûr un objet préalablement >>>> créé >>>> ? >>>> >>>> Encore merci ! >>>> >>>> Yannick Daniel Youalé >>>> La programmation est une religion. Aimez-la, ou quittez-la. >>>> >>>> Progliste : >>>> Pour se désinscrire de la liste : >>>> mailto:progliste-requ...@ml.free.fr?subject=unsubscribe >>>> >>>> Pour voir les archives de la liste : >>>> http://www.mail-archive.com/progliste@ml.free.fr/ >>>> >>>> Pour accéder aux fichiers de la liste >>>> http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr >>>> Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en >>>> privé, >>>> je vous répondrez en privé. >>> >>> >>> Progliste : >>> Pour se désinscrire de la liste : >>> mailto:progliste-requ...@ml.free.fr?subject=unsubscribe >>> >>> Pour voir les archives de la liste : >>> http://www.mail-archive.com/progliste@ml.free.fr/ >>> >>> Pour accéder aux fichiers de la liste >>> http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr >>> Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, >>> je vous répondrez en privé. >>> >> >> >> Progliste : >> Pour se désinscrire de la liste : >> mailto:progliste-requ...@ml.free.fr?subject=unsubscribe >> >> Pour voir les archives de la liste : >> http://www.mail-archive.com/progliste@ml.free.fr/ >> >> Pour accéder aux fichiers de la liste >> http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr >> Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, >> je vous répondrez en privé. > > > Progliste : > Pour se désinscrire de la liste : > mailto:progliste-requ...@ml.free.fr?subject=unsubscribe > > Pour voir les archives de la liste : > http://www.mail-archive.com/progliste@ml.free.fr/ > > Pour accéder aux fichiers de la liste > http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr > Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, > je vous répondrez en privé. Progliste : Pour se désinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/progliste@ml.free.fr/ Pour accéder aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je vous répondrez en privé.