Fermer une application spécifique

Résolu
Ledji37 Messages postés 9 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 24 février 2012 - 22 févr. 2012 à 23:40
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 - 24 févr. 2012 à 11:18
voila, je souhaiterai fermer une application spécifique à partir du code dans un programme vb.
je m'explique dans mon application j'ouvre une première fois winword avec un premier fichier '.doc' puis j'ouvre de nouveau winword avec un deuxième fichier '.doc' . Tout fonctionne très bien. mais dans un deuxième temps, je souhaiterai fermer le premier fichier '.doc' tout en gardant ouvert le deuxième fichier '.doc' ouvert. si je passe par process.getprocesses pour obtenir le processus ouvert puis que je le supprime par kill. je supprime le processus "WinWord" et donc je ferme les deux fichiers '.doc' ouvert sur le bureau. hors, je souhaite ne fermer que le premier!!

Comment faire??
toutes les propositions sont bien venues.

5 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 13
24 févr. 2012 à 11:18
Salut,

si tu veux continuer à utiliser ta méthode, l'utilisation de GetObject pourrait résoudre le problème.

A+
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 231
22 févr. 2012 à 23:56
Bonjour, (hé ! non ===>> rayons)
Ce que tu écris (et puisque tu développes sous VB.Net, la présente section du forum) montres que tu pilotes donc Word depuis VB.Net.
Tu as donc forcément créé un objet (appelons-le toto) pour ton premier .doc. Ferme ce .doc avec toto.close !

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 13
23 févr. 2012 à 10:19
Bonjour ucfoutu et le forum,

ce n'est pas une appli que tu veux fermer mais bien un fichier ouvert par l'appli !

Comme te la si bien dit ucfoutu tu as deja du creer un objet word.

donc en clair:

WordObjt.Documents("monpremierdocument.doc").Close

A+
0
Ledji37 Messages postés 9 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 24 février 2012
24 févr. 2012 à 10:33
BONJOUR et BONJOUR pour avant-hier!! avec toutes mes excuses "pour ce manque de respect".

Merci beaucoup pour ces réponses.

Je dois préciser que le programme que je développe ne nécessite pas un pilotage de word important mais qu'il doit pouvoir simplement ouvrir occasionnellement un ou plusieurs documents word de même qu'il doit pouvoir fermer ces mêmes documents. En fait ce programme doit pouvoir également ouvrir des documents txt ou autre. Pour cette raison j'utilise un code du type

Dim proc As New Process
Dim Fichier As String
proc.StartInfo.FileName = Fichier
proc.Start()

Ce code est répété autant de fois que nécessaire. Il me permet de ne pas me soucier de quel type d'application est liée au fichier à ouvrir.
Malheureusement, tout se complique pour la fermeture des différents documents car je peux déterminer quelle application est ouverte sur le bureau grâce à process.getprocesses mais si je ferme l'application word ( ou notepad ou autre) c'est tous les documents ouverts avec cette application qui se ferment alors que je ne souhaite fermer que certains documents.

Je n'utilise pas d'objet word.application ou word.document.

Merci de votre aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 231
24 févr. 2012 à 10:40
Change donc ton fusil d'épaule.
En ouvrant comme tu le fais, la gestion de la fermeture est plus contraignante.
Ouvre en créant un objet Word, puis un objet document Word.
Ce sera mille fois plus simple.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0