| |
Posté le 19 mai 2006 - 13:37 |
Bonjour à tous !
Voilà mon problème : j'aimerai ouvrir un document word dans word et que cela bloque l'execution de mon application tant que word n'est pas fermé. Donc bien sur j'ai tout de suite essayé cela :
LanceAppli("C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE c:\test.doc",exeActif,exeBloquant)
ca m'ouvre bien mon fichier dans word; mais le problème c'est que ca ne bloque pas mon application. j'ai essayé avec l'exemple fournis dans l'aide :
LanceAppli("NOTEPAD.EXE Lisezmoi.txt",exebloquant) et là ca marche nickel...
Quelqu'un a une idée pour que ca fonctionne aussi sous word ?
Merci d'avance |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2006 - 15:16 |
Salut,
probablement que winword.exe n'est qu'un lanceur qui lance un autre programme et se ferme. Du coup ton projet continue a s'exécuter.
A+ Adrien
http://codel5g.eu |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2006 - 15:44 |
Bonjour,
Es-tu bien sur de ta syntaxe, qu'aucune entité "exeBloquant" n'a été déclarée par ailleurs et que Word n'est pas déja ouvert ? (Si Word est déja ouvert l'appli reprend effectivempent la main de suite).
Parce que je viens de faire un simple copier coller de ton code et chez moi ça marche nickel. L'application est en attente de la fermeture de Word pour reprendre.
A+
-- Francis MOREL |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2006 - 15:50 |
Et avec la ligne suivante :
LanceAppli("C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE c:\test.doc",exeActif,vrai)
Cette exemple te permet de lancer ton fichier, en te rendant impossible toute action depuis ton projet, tant que tu n'as pas fermer word.
HM |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2006 - 15:51 |
Seb a émis l'idée suivante :
Bonjour à tous !
Voilà mon problème : j'aimerai ouvrir un document word dans word et que cela bloque l'execution de mon application tant que word n'est pas fermé. Donc bien sur j'ai tout de suite essayé cela :
LanceAppli("C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE c:\test.doc",exeActif,exeBloquant)
ca m'ouvre bien mon fichier dans word; mais le problème c'est que ca ne bloque pas mon application. j'ai essayé avec l'exemple fournis dans l'aide :
LanceAppli("NOTEPAD.EXE Lisezmoi.txt",exebloquant) et là ca marche nickel...
Quelqu'un a une idée pour que ca fonctionne aussi sous word ?
Merci d'avance
Bonjour pour régler le pb je fais un test sur le fichier utilisé par word pour informer que le doucment est en cours
NomDuDocumentVerrouille=NomDuDocument NomDuDocumentVerrouille[[1 A 2]]="~$"
puis après l'ouverture du .doc
TANTQUE fFichierExiste(DocumentVerrouillé)=Vrai Multitache(-1) FIN
C'est en place chez pas mal de client et pas de pb, ça fonctionne et ça ne consomme pas.
-- Philippe |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2006 - 15:58 |
Le problème c'est que c'est bien WINWORD.EXE que je retrouve dans ma liste des processus. et je ne trouve pas d'autre WINWORD.EXE sur mon pc. |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2006 - 16:13 |
tu as raison je viens de killer le processus de winword qui se lance automatiquement avec outlook et là effectivement ca marche. comment gérer ca ?? |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2006 - 17:05 |
Dans son message, Seb racontait :
tu as raison je viens de killer le processus de winword qui se lance automatiquement avec outlook et là effectivement ca marche. comment gérer ca ??
Je pense que le processus winword fait un fork au lancement : il se lance, vérifie si une instance existe deja, si non il ouvre le fichier, si oui il signale a l'instance d'ouvrir le fichier. Ce qui fait que le process lancé est bien winword, mais ca n'est pas la meme instance que celle que l'on souhaite diriger.
Il faudrait peut etre (si quelqu'un sait faire) traquer non pas le nom du programme mais son PID.
Je ne suis pas assez calé pour le faire, je n'ai d'ailleurs pas encore trouvé la fonction windev correspondante si elle existe, donc si un des "maitres de l'art" pouvait se pencher sur ce probleme ca serait cool. -- Lionel
mailto:lionel.breil*NOSPAM*@gmail.com (retirer *NOSPAM* pour m'écrire) |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2006 - 17:30 |
Lionel a écrit :
Dans son message, Seb racontait : tu as raison je viens de killer le processus de winword qui se lance automatiquement avec outlook et là effectivement ca marche. comment gérer ca ??
Je pense que le processus winword fait un fork au lancement : il se lance, vérifie si une instance existe deja, si non il ouvre le fichier, si oui il signale a l'instance d'ouvrir le fichier. Ce qui fait que le process lancé est bien winword, mais ca n'est pas la meme instance que celle que l'on souhaite diriger. Il faudrait peut etre (si quelqu'un sait faire) traquer non pas le nom du programme mais son PID. Je ne suis pas assez calé pour le faire, je n'ai d'ailleurs pas encore trouvé la fonction windev correspondante si elle existe, donc si un des "maitres de l'art" pouvait se pencher sur ce probleme ca serait cool.
en version 5.5, il y avait un exemple qui s'appelait ExeLancé(). La solution serait peut-être de vérifier si une instance de Winword existe, de la 'killer', puis de lancer windows en mode bloquant.
Mais je ne suis pas calé non plus.
-- Jacques Trepp Albygest - 81160 - St Juery jacques-pas de spam.trepp@free.fr (enlever '-pas de spam' pour me joindre) http://www.albygest.com |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2006 - 18:09 |
cette solution ne fonctionne ... on peut toujours avoir accéder à l'application et l'utiliser.... ce qui me parait bizard.....
Mais merci quand même d'avoir répondu |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2006 - 18:09 |
j'y ai pensé mais si la personne était en train de taper un courrier, lui killer son process comme ca....... c'est pas le top....
mais merci de donner des réponses. |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2006 - 18:52 |
Dans son message, Philippe racontait :
Seb a émis l'idée suivante : Bonjour à tous !
Voilà mon problème : j'aimerai ouvrir un document word dans word et que cela bloque l'execution de mon application tant que word n'est pas fermé. Donc bien sur j'ai tout de suite essayé cela :
LanceAppli("C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE c:\test.doc",exeActif,exeBloquant)
ca m'ouvre bien mon fichier dans word; mais le problème c'est que ca ne bloque pas mon application. j'ai essayé avec l'exemple fournis dans l'aide :
LanceAppli("NOTEPAD.EXE Lisezmoi.txt",exebloquant) et là ca marche nickel...
Quelqu'un a une idée pour que ca fonctionne aussi sous word ?
Merci d'avance
Bonjour pour régler le pb je fais un test sur le fichier utilisé par word pour informer que le doucment est en cours NomDuDocumentVerrouille=NomDuDocument NomDuDocumentVerrouille[[1 A 2]]="~$" puis après l'ouverture du .doc TANTQUE fFichierExiste(DocumentVerrouillé)=Vrai Multitache(-1) FIN C'est en place chez pas mal de client et pas de pb, ça fonctionne et ça ne consomme pas.
Il me semble que le fichier temporaire n'est créé qu'a la premiere modification du document word => tant que l'utilisateur ne l'a pas modifié, pas de temp, donc l'application continue de tourner. Ne serait-il pas plus simple d'ouvrir le fichier dans un champ html ? -- Lionel
mailto:lionel.breil*NOSPAM*@gmail.com (retirer *NOSPAM* pour m'écrire) |
| |
| |
| | | |
|
| | |