Exécution d'une macro sans impacter l'utilisateur
Résolu/Fermé
Enygma
-
Modifié le 5 oct. 2021 à 12:30
mamiemando Messages postés 33665 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 mai 2025 - 15 oct. 2021 à 11:33
mamiemando Messages postés 33665 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 mai 2025 - 15 oct. 2021 à 11:33
A voir également:
- Exécution d'une macro sans impacter l'utilisateur
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro word - Guide
- Changer nom utilisateur windows 10 - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
2 réponses
mamiemando
Messages postés
33665
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
14 mai 2025
7 850
Modifié le 5 oct. 2021 à 12:38
Modifié le 5 oct. 2021 à 12:38
Bonjour,
Peut-être en utilisant les raccourcis claviers appropriés (e.g. tab pour changer l'élément sélectionné, entrée pour l'activer, etc). Mais tu ne pourras pas empêcher l'utilisateur d'interférer avec son clavier ou sa souris. Le plus simple est peut être de lui dire de ne toucher à rien au moment où il exécute ton programme. C'est d'ailleurs pour ça qu'en général on évite de scripter quelque chose en rapport avec une interface graphique.
En fait, tout dépend de ce que tu veux faire et avec quel système d'exploitation. Par exemple :
Ceci amène d'ailleurs un point important : le genre de chose que tu fais pourrait être utilisé à de mauvaises fins. C'est la raison pour laquelle il ne pas lancer un script en lequel on n'a pas confiance.
Bonne chance
Peut-être en utilisant les raccourcis claviers appropriés (e.g. tab pour changer l'élément sélectionné, entrée pour l'activer, etc). Mais tu ne pourras pas empêcher l'utilisateur d'interférer avec son clavier ou sa souris. Le plus simple est peut être de lui dire de ne toucher à rien au moment où il exécute ton programme. C'est d'ailleurs pour ça qu'en général on évite de scripter quelque chose en rapport avec une interface graphique.
En fait, tout dépend de ce que tu veux faire et avec quel système d'exploitation. Par exemple :
- Sous Linux / MacOS, la plupart des actions qu'on pourrait imaginer sont directement scriptables avec un script shell.
- Sous Windows, tu as un équivalent (dégradé) avec les scripts batch.
Ceci amène d'ailleurs un point important : le genre de chose que tu fais pourrait être utilisé à de mauvaises fins. C'est la raison pour laquelle il ne pas lancer un script en lequel on n'a pas confiance.
Bonne chance
mamiemando
Messages postés
33665
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
14 mai 2025
7 850
11 oct. 2021 à 15:08
11 oct. 2021 à 15:08
Bonjour,
Avant de se lancer dans quelque chose de compliqué :
Ça fait 2 jours que j'essaye de comprendre le fonctionnement des arguments des fichiers exécutable, comment les récupérer
Tout logiciel, quel que soit le langage dans lequel il a été programmé, permet de recevoir de la part du système des arguments. Par exemple en python, tu récupères les paramètres dans
Exemple :
Si on lance
Libre ensuite au développeur de faire réagir son programme en fonction de ces arguments.
La question c'est est-ce que
En admettant que tu trouves cette information, il faut voir si un de ces paramètres répond à ton besoin (ce qui n'est pas garanti non plus).
J'ai d'ailleurs pour cela installé process explorer, mais je n'arrive pas à identifier les arguments dans toutes les valeurs qu'il me renvoie, toutefois je n'y arrive pas.
Ça ne t'aidera pas. Dans la table des processus, tu verras les éventuels paramètres passés au moment de lancer le programme (dans mon exemple
Je voudrais tout simplement automatiser des logiciels (fichier exécutable) pour pouvoir les utilisés (du style créé un devis automatiquement avec kafeo (logiciel de création de devis)) avec des valeurs prédéfinis et si possible sans "déranger l'utilisateur".
Pour moi les solutions (pas forcément réalisables, ça dépend du logiciel) sont :
Bonne chance
Avant de se lancer dans quelque chose de compliqué :
- As-tu regardé cette page de la documentation de kafeo (modèle de devis)
- Plus généralement, as-tu regardé dans la documentation de kafeo si quelque chose semblait répondre à ton besoin ?
- As-tu essayé contacter le support de kafeo pour leur expliquer ton besoin ?
Ça fait 2 jours que j'essaye de comprendre le fonctionnement des arguments des fichiers exécutable, comment les récupérer
Tout logiciel, quel que soit le langage dans lequel il a été programmé, permet de recevoir de la part du système des arguments. Par exemple en python, tu récupères les paramètres dans
sys.argv.
Exemple :
toto.py
#!/usr/bin/env python3 import sys for (i, arg) in enumerate(sys.argv): print(i, arg)
Si on lance
python3 toto.py tata titi, on obtient :
0 toto.py
1 tata
2 titi
Libre ensuite au développeur de faire réagir son programme en fonction de ces arguments.
La question c'est est-ce que
kafeoa été codé pour réagir à des arguments passés en ligne de commande (ce qui n'est pas garanti). Si c'est le cas et si
kafeosupporte effectivement des paramètres, ils sont supposés être documentés ou être affichable via l'aide (traditionnellement, sous linux, avec l'option
--helpet sous windows avec l'option
/help, e.g.
kafeo.exe /help).
En admettant que tu trouves cette information, il faut voir si un de ces paramètres répond à ton besoin (ce qui n'est pas garanti non plus).
J'ai d'ailleurs pour cela installé process explorer, mais je n'arrive pas à identifier les arguments dans toutes les valeurs qu'il me renvoie, toutefois je n'y arrive pas.
Ça ne t'aidera pas. Dans la table des processus, tu verras les éventuels paramètres passés au moment de lancer le programme (dans mon exemple
toto.py tata titi) mais comme dans ton cas le devis est saisi après, il ne peut pas apparaître dans les arguments.
Je voudrais tout simplement automatiser des logiciels (fichier exécutable) pour pouvoir les utilisés (du style créé un devis automatiquement avec kafeo (logiciel de création de devis)) avec des valeurs prédéfinis et si possible sans "déranger l'utilisateur".
Pour moi les solutions (pas forcément réalisables, ça dépend du logiciel) sont :
- chercher dans le logiciel une fonctionnalité pratique qui répond à ton besoin (e.g. les modèles de devis ?)
- lancer kafeo en passant en argument ce qu'il faut (en admettant que kafeo expose les paramètres adéquats, ce qui est loin d'être garanti) ;
- pré-construire par exemple un python un fichier de devis kafeo et lancer kafeo en passant en paramètre ce fichier (en admettant que le format soit "compréhensible" ou documenté) ;
- considérer un logiciel plus pratique à automatiser (je n'en connais pas, ce n'est pas mon domaine).
- adopter une approche à la
pyautogui
;
Bonne chance
Bonjour mamiemando,
Merci pour ta réponse !
Je pense que je vais effectivement faire une approche à la
J'avais penser à exectuer un code avec
Je m'explique, je pensait installer tout mon programme sur un raspberry qui serait connecter à un ordinateur, comme ça le raspberry effectue le programme
Toutefois je suis encore en recherche d'informations car je ne sais pas comment "activer" en programme en lui envoyant une valeur d'entrée depuis le pc auquel il sera connecté, et je ne sais pas non-plus comment envoyer cette valeur d'entrée ni la future valeur de sortie, même si je me doute que sa doit être le même principe.
Enfin bref j'espère que comme toujours vous pourrez m'aider.
En vous remerciant !
Enygma
Merci pour ta réponse !
Je pense que je vais effectivement faire une approche à la
pyautogui, même si je garde en tête ton conseil pour récupérer les arguments d'un programme ????.
J'avais penser à exectuer un code avec
pyautoguisur un raspberry pi.
Je m'explique, je pensait installer tout mon programme sur un raspberry qui serait connecter à un ordinateur, comme ça le raspberry effectue le programme
pyautoguiqui ne dérange par conséquent pas l'utilisateur de l'ordinateur.
Toutefois je suis encore en recherche d'informations car je ne sais pas comment "activer" en programme en lui envoyant une valeur d'entrée depuis le pc auquel il sera connecté, et je ne sais pas non-plus comment envoyer cette valeur d'entrée ni la future valeur de sortie, même si je me doute que sa doit être le même principe.
Enfin bref j'espère que comme toujours vous pourrez m'aider.
En vous remerciant !
Enygma
mamiemando
Messages postés
33665
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
14 mai 2025
7 850
>
Enygma
Modifié le 12 oct. 2021 à 12:04
Modifié le 12 oct. 2021 à 12:04
Au risque d'insister, es-tu sûre que les modèles de devis (ou tout autre fonctionnalité approchante de ton logiciel) ne répondent pas à ton besoin ?
Bonne chance
Bonne chance
Enygma
>
mamiemando
Messages postés
33665
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
14 mai 2025
Modifié le 15 oct. 2021 à 11:33
Modifié le 15 oct. 2021 à 11:33
Oui, sur ce fait ne t'inquiète pas.
mamiemando
Messages postés
33665
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
14 mai 2025
7 850
>
Enygma
15 oct. 2021 à 11:33
15 oct. 2021 à 11:33
Ok :-) Du coup, je clos le sujet, mais si jamais une autre question te vient, n'hésite pas à en ouvrir un nouveau. Bonne continuation :-)
5 oct. 2021 à 21:03
Finalement j'ai trouvé une alternative, toutefois j'ai un nouveau un problème...
J'aimerais savoir si il est possible d'interagir avec un fichier exécutable exe du genre de kafeo (c'est un logiciel pour créer des devis), avec le cmd, où le shell.
En gros comment est-ce que je pourrais interagir avec ce type de logiciel à partir du cmd (du genre remplire des champs de texte, un peux a la manière d'un macro mais sans l'inconvénient du mouvementde souris...).
J'ai vite fait regarder comment arriver à faire ça, et j'ai vu il fallait éventuellement récupérer les valeurs de sortie du logiciel pour connaître les balises des composants et les placer dans un document texte pour ensuite le mettre comme argument à l'exécution de celui-ci mais sa me paraîtun peut tiré par les cheveux.
Si tu a une réponse je suis preneur !
Modifié le 6 oct. 2021 à 11:23
Ça dépend du logiciel. S'il existe une API réseau, un module python dédié, ou si l'exécutable en ligne de commande supporte des options permettant de remplir le formulaire oui.
Pour le dernier aspect, afficher l'aide de te donnera sûrement des indices (probablement sous windows).
Sinon, (i.e. il ne te reste que l'interface graphique) il ne te reste plus que les solutions à la .
Bonne chance
Modifié le 11 oct. 2021 à 14:37
Ça fait 2 jours que j'essaye de comprendre le fonctionnement des arguments des fichiers exécutable, comment les récupérer, savoir à quoi ils correspondent puis les exécuter. J'ai d'ailleurs pour cela installé process explorer, mais je n'arrive pas à identifier les arguments dans toutes les valeurs qu'il me renvoie, toutefois je n'y arrive pas.
Je me demande si je ne me suis pas compliquée la vie pour rien. C'est pourquoi je vais vous dire mon but final comme ça vous pourrez peut-être m'éclairer.
Je voudrais tout simplement automatiser des logiciels (fichier exécutable) pour pouvoir les utilisés (du style créé un devis automatiquement avec kafeo (logiciel de création de devis)) avec des valeurs prédéfinis et si possible sans "déranger l'utilisateur".
En espérant avoir été claire.
Vos réponses sont plus que bien venue !
Merci pour votre aide