#1 Tue 04 November 2008 10:21
- gglafouine
- Participant actif
- Lieu: Montpellier
- Date d'inscription: 28 Feb 2006
- Messages: 118
[ARCGIS 9] Automatiser l'execution d'une macro en batch
Bonjour,
Est-il possible de passer des paramètres à l'exécution d'ArcGIS pour choisir de lancer l'automatisation d'un script VB6 sous forme de macro en passant un paramètre au lancement
"C:\Program Files\ArcGIS\Bin\arcmap.exe" c:\mon_fichier.mxd (+paramètre de lancement automatique)
Le but étant de me pas lancer l'exécution de la macro à l'ouverture du mxd mais de pouvoir le faire avec le batch.
En fait j'ai déjà une boite de dialogue qui me demande si je veux ou pas lancer l'exécution du script. es-ce que je peux lancer le mxd en simulant la touche ok?
Merci.
Jérôme
Hors ligne
#2 Wed 05 November 2008 13:04
- gglafouine
- Participant actif
- Lieu: Montpellier
- Date d'inscription: 28 Feb 2006
- Messages: 118
Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch
Bonjour,
Pensez vous que ce soit possible en Python?
Comme ça je fais un script en Python style projet.py que j'appelle avec mon fichier projet.bat contenant :
Code:
C:\Python24\python.exe %1 projet.py pause
Merci
Dernière modification par gglafouine (Wed 05 November 2008 13:04)
Jérôme
Hors ligne
#3 Thu 06 November 2008 11:58
- gglafouine
- Participant actif
- Lieu: Montpellier
- Date d'inscription: 28 Feb 2006
- Messages: 118
Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch
up
Jérôme
Hors ligne
#4 Thu 06 November 2008 12:47
Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch
Google et recherche à propos du python, car python est loin d'être un langage ESRI ?
Cela donne http://www.python.org/doc/2.5.2/lib/module-getopt.html et donc la réponse est oui
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#5 Wed 12 November 2008 09:48
- gglafouine
- Participant actif
- Lieu: Montpellier
- Date d'inscription: 28 Feb 2006
- Messages: 118
Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch
Merci Jérôme
Le truc c'est que je m'y connais pas assez bien en python pour passer un paramètre d'automatisation pour le lancement de script en VB6 contenu dans un mxd.
getopt permet de passer des arguments avec options et valeurs mais je vois pas très bien en quoi cela peut m'aider.
Peux tu m'en dire un peu plus.
Merci.
Dernière modification par gglafouine (Wed 12 November 2008 10:04)
Jérôme
Hors ligne
#6 Wed 12 November 2008 13:29
Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch
Ta demande m'a l'air un peu confuse. J'ai l'impression que tu as deux questions : Est-ce que je peux exécuter une macro au lancement d'ArcGIS en utilisant :
- un script VB6 ?
- un script Python ?
Ta question se limite en fait à "Est-ce que je peux exécuter une macro au lancement d'ArcGIS seulement sous certaines conditions ?". Tu proposes ensuite juste des pistes de recherche, avec ta question sur le python tu n'avais pas une idée précise, non ?
Je suis un peu perdu dans tout ça, alors que si j'ai bien compris tu as une macro dans OpenDocument(), et que tu veux exécuter ce qui est à l'intérieur que dans un cas particulier. Si tu ne peux passer facilement des paramètres à l'application, tu peux créer un fichier quand tu exécutes le batch, vérifier la présence du fichier et exécuter s'il est bien là, et supprimer le fichier de test en fin de batch.
Ai-je répondu à ta question ?
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#7 Wed 12 November 2008 14:57
- gglafouine
- Participant actif
- Lieu: Montpellier
- Date d'inscription: 28 Feb 2006
- Messages: 118
Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch
tu as une macro dans OpenDocument()
Oui, des scripts en VB6
En fait en ce moment j'ai deux fichiers qui font quasiment la même chose.
Un qui est lancé par un batch ouvrant l'application ArcGIS et le projet.mxd .
celui-ci contient la procédure d'automatisé qui nous permet de concevoir nos jeux de données à partir de tous les fichiers txt (extrait de base de données) contenu dans un dossier.
Le deuxième n'est pas automatisé mais permet de sélectionner certains fichiers à traiter à partir d'une boite de sélection.
Ce que je souhaite c'est pouvoir simplifier l'ensemble car si j'ai des modifications à appliquer sur un fichier, je dois les répercuter sur l'autre et sur autant de sous-projets basés sur le même procédé.
En clair je veux utiliser uniquement un seul document et passer des options qui me permettent de faire sauter les étapes de sélection (tous sélectionner) ou de validation (dans le cas d'un msgbox):
- en batch (mais je pense pas que ce soit possible)
- en exécutant un script python (contenant les paramètres de passerelle) que j'appelle à l'intérieur de la procédure d'automatisation de mon batch.
Dernière modification par gglafouine (Wed 12 November 2008 15:02)
Jérôme
Hors ligne
#8 Wed 12 November 2008 19:05
Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch
Batch ou Python, transmettre des paramètres à ArcMap.exe, je ne sais pas faire.
Mais ce que j'ai dit, mettre les options dans un fichier, tu en penses quoi ?
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#9 Thu 13 November 2008 13:20
- gglafouine
- Participant actif
- Lieu: Montpellier
- Date d'inscription: 28 Feb 2006
- Messages: 118
Re: [ARCGIS 9] Automatiser l'execution d'une macro en batch
J'en pense que si je peux pas interagir sur mon MXD, je suis obligé conserver plusieurs documents contenant mes scripts en VB6 avec un fichier contenant une procédure automatisée et l'autre avec des éléments qui me permettent d'opérer des choix manuellement (MSGBOX et objets graphiques).
Tu en penses quoi?
Pour générer des shapefiles à partir d'un ensemble de fichiers texte (tout en en sélectionnant certains) , je vois pas 36 solutions à part utiliser VB6.
Jérôme
Hors ligne