demande d'aide ,VB2005 express, identification process en cours
4 réponses
JJK94
objectif :
quand je lance mon application, j'ai besoin d'analyser les process "Excel"
et "Word" en cours et déterminer les fichiers utilisés, autrement dit
comment créer les objects "office" associés à ces process
à noter que j'utilise Office 2003 , et installer les réferences interop.....
je voudrai à partir des process.ID , accéder aux applications office 2003 en
cours
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrice
Un moyen simple d'accéder à *une* instance en cours est la fonction GetObject. Par exemple, GetObject("","Excel.Application").
A voir si il est alors possible d'accéder à toutes les instances à à partir d'une seule....
Sinon il est souvent préférable d'expliquer le but poursuivi ce qui peut entrainer une suggestion alternative (mon premier mouvement serait de voir si le modèle de programmation Excel et Word ne permettent pas cela avec des addins par exemple, voir peut-être un groupe Excel/Word).
"JJK94" a écrit dans le message de news:
objectif : quand je lance mon application, j'ai besoin d'analyser les process "Excel" et "Word" en cours et déterminer les fichiers utilisés, autrement dit comment créer les objects "office" associés à ces process à noter que j'utilise Office 2003 , et installer les réferences interop..... je voudrai à partir des process.ID , accéder aux applications office 2003 en cours
Merci pour votre aide JJK
Un moyen simple d'accéder à *une* instance en cours est la fonction
GetObject. Par exemple, GetObject("","Excel.Application").
A voir si il est alors possible d'accéder à toutes les instances à à partir
d'une seule....
Sinon il est souvent préférable d'expliquer le but poursuivi ce qui peut
entrainer une suggestion alternative (mon premier mouvement serait de voir
si le modèle de programmation Excel et Word ne permettent pas cela avec des
addins par exemple, voir peut-être un groupe Excel/Word).
"JJK94" <jjk94@hotmail.fr> a écrit dans le message de news:
e7nSTxjNHHA.2468@TK2MSFTNGP06.phx.gbl...
objectif :
quand je lance mon application, j'ai besoin d'analyser les process "Excel"
et "Word" en cours et déterminer les fichiers utilisés, autrement dit
comment créer les objects "office" associés à ces process
à noter que j'utilise Office 2003 , et installer les réferences
interop.....
je voudrai à partir des process.ID , accéder aux applications office 2003
en cours
Un moyen simple d'accéder à *une* instance en cours est la fonction GetObject. Par exemple, GetObject("","Excel.Application").
A voir si il est alors possible d'accéder à toutes les instances à à partir d'une seule....
Sinon il est souvent préférable d'expliquer le but poursuivi ce qui peut entrainer une suggestion alternative (mon premier mouvement serait de voir si le modèle de programmation Excel et Word ne permettent pas cela avec des addins par exemple, voir peut-être un groupe Excel/Word).
"JJK94" a écrit dans le message de news:
objectif : quand je lance mon application, j'ai besoin d'analyser les process "Excel" et "Word" en cours et déterminer les fichiers utilisés, autrement dit comment créer les objects "office" associés à ces process à noter que j'utilise Office 2003 , et installer les réferences interop..... je voudrai à partir des process.ID , accéder aux applications office 2003 en cours
Merci pour votre aide JJK
Patrice
J'ai fait une petite recherche. Il existe effectivement un évènement Application.WorkbookOpen dans Excel (je n'ai pas vérifier pour Word mais j'imagine que c'est pareil).
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
Un moyen simple d'accéder à *une* instance en cours est la fonction GetObject. Par exemple, GetObject("","Excel.Application").
A voir si il est alors possible d'accéder à toutes les instances à à partir d'une seule....
Sinon il est souvent préférable d'expliquer le but poursuivi ce qui peut entrainer une suggestion alternative (mon premier mouvement serait de voir si le modèle de programmation Excel et Word ne permettent pas cela avec des addins par exemple, voir peut-être un groupe Excel/Word).
"JJK94" a écrit dans le message de news:
objectif : quand je lance mon application, j'ai besoin d'analyser les process "Excel" et "Word" en cours et déterminer les fichiers utilisés, autrement dit comment créer les objects "office" associés à ces process à noter que j'utilise Office 2003 , et installer les réferences interop..... je voudrai à partir des process.ID , accéder aux applications office 2003 en cours
Merci pour votre aide JJK
J'ai fait une petite recherche. Il existe effectivement un évènement
Application.WorkbookOpen dans Excel (je n'ai pas vérifier pour Word mais
j'imagine que c'est pareil).
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
OyiAcPkNHHA.3552@TK2MSFTNGP03.phx.gbl...
Un moyen simple d'accéder à *une* instance en cours est la fonction
GetObject. Par exemple, GetObject("","Excel.Application").
A voir si il est alors possible d'accéder à toutes les instances à à
partir d'une seule....
Sinon il est souvent préférable d'expliquer le but poursuivi ce qui peut
entrainer une suggestion alternative (mon premier mouvement serait de voir
si le modèle de programmation Excel et Word ne permettent pas cela avec
des addins par exemple, voir peut-être un groupe Excel/Word).
"JJK94" <jjk94@hotmail.fr> a écrit dans le message de news:
e7nSTxjNHHA.2468@TK2MSFTNGP06.phx.gbl...
objectif :
quand je lance mon application, j'ai besoin d'analyser les process
"Excel" et "Word" en cours et déterminer les fichiers utilisés, autrement
dit comment créer les objects "office" associés à ces process
à noter que j'utilise Office 2003 , et installer les réferences
interop.....
je voudrai à partir des process.ID , accéder aux applications office 2003
en cours
J'ai fait une petite recherche. Il existe effectivement un évènement Application.WorkbookOpen dans Excel (je n'ai pas vérifier pour Word mais j'imagine que c'est pareil).
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
Un moyen simple d'accéder à *une* instance en cours est la fonction GetObject. Par exemple, GetObject("","Excel.Application").
A voir si il est alors possible d'accéder à toutes les instances à à partir d'une seule....
Sinon il est souvent préférable d'expliquer le but poursuivi ce qui peut entrainer une suggestion alternative (mon premier mouvement serait de voir si le modèle de programmation Excel et Word ne permettent pas cela avec des addins par exemple, voir peut-être un groupe Excel/Word).
"JJK94" a écrit dans le message de news:
objectif : quand je lance mon application, j'ai besoin d'analyser les process "Excel" et "Word" en cours et déterminer les fichiers utilisés, autrement dit comment créer les objects "office" associés à ces process à noter que j'utilise Office 2003 , et installer les réferences interop..... je voudrai à partir des process.ID , accéder aux applications office 2003 en cours
Merci pour votre aide JJK
JJK94
bonjour, merci pour votre réponse le contexte est celui-ci: A l'origine , j'ai développé une application excel/word vba autonome. Il a fallu ajouter des fonctionnalités impliquant des formulaires, des menus supplémentaires, de la gestion de fichiers... des communications avec d'autres applications Excel dédiées . Cette extension de fonctionnalités je l'ai réalisé avec VB2005 Express. Comme je ne suis pas un spécialiste de la programmation mais je me débrouille, j'ai besoin de savoir quand l'utilisateur lance l'extension VB2005 , de faire un état des lieux des process Excel/ Word en cours et de lancer si nécessaire les applications dont j'ai besoin.
Dim proc1 As Process()
proc1 = Process.GetProcessesByName("excel")
TextBox1.Text = proc1.Length.ToString
A partir de là, comment identifier les noms des applications Excel en cours .
Bonne reception JJK
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
Un moyen simple d'accéder à *une* instance en cours est la fonction GetObject. Par exemple, GetObject("","Excel.Application").
A voir si il est alors possible d'accéder à toutes les instances à à partir d'une seule....
Sinon il est souvent préférable d'expliquer le but poursuivi ce qui peut entrainer une suggestion alternative (mon premier mouvement serait de voir si le modèle de programmation Excel et Word ne permettent pas cela avec des addins par exemple, voir peut-être un groupe Excel/Word).
"JJK94" a écrit dans le message de news:
objectif : quand je lance mon application, j'ai besoin d'analyser les process "Excel" et "Word" en cours et déterminer les fichiers utilisés, autrement dit comment créer les objects "office" associés à ces process à noter que j'utilise Office 2003 , et installer les réferences interop..... je voudrai à partir des process.ID , accéder aux applications office 2003 en cours
Merci pour votre aide JJK
bonjour, merci pour votre réponse
le contexte est celui-ci:
A l'origine , j'ai développé une application excel/word vba autonome. Il a
fallu ajouter des fonctionnalités impliquant des formulaires, des menus
supplémentaires, de la gestion de fichiers... des communications avec
d'autres applications Excel dédiées . Cette extension de fonctionnalités je
l'ai réalisé avec VB2005 Express.
Comme je ne suis pas un spécialiste de la programmation mais je me
débrouille, j'ai besoin de savoir quand l'utilisateur lance l'extension
VB2005 , de faire un état des lieux des process Excel/ Word en cours et de
lancer si nécessaire les applications dont j'ai besoin.
Dim proc1 As Process()
proc1 = Process.GetProcessesByName("excel")
TextBox1.Text = proc1.Length.ToString
A partir de là, comment identifier les noms des applications Excel en cours
.
Bonne reception
JJK
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
OyiAcPkNHHA.3552@TK2MSFTNGP03.phx.gbl...
Un moyen simple d'accéder à *une* instance en cours est la fonction
GetObject. Par exemple, GetObject("","Excel.Application").
A voir si il est alors possible d'accéder à toutes les instances à à
partir d'une seule....
Sinon il est souvent préférable d'expliquer le but poursuivi ce qui peut
entrainer une suggestion alternative (mon premier mouvement serait de voir
si le modèle de programmation Excel et Word ne permettent pas cela avec
des addins par exemple, voir peut-être un groupe Excel/Word).
"JJK94" <jjk94@hotmail.fr> a écrit dans le message de news:
e7nSTxjNHHA.2468@TK2MSFTNGP06.phx.gbl...
objectif :
quand je lance mon application, j'ai besoin d'analyser les process
"Excel" et "Word" en cours et déterminer les fichiers utilisés, autrement
dit comment créer les objects "office" associés à ces process
à noter que j'utilise Office 2003 , et installer les réferences
interop.....
je voudrai à partir des process.ID , accéder aux applications office 2003
en cours
bonjour, merci pour votre réponse le contexte est celui-ci: A l'origine , j'ai développé une application excel/word vba autonome. Il a fallu ajouter des fonctionnalités impliquant des formulaires, des menus supplémentaires, de la gestion de fichiers... des communications avec d'autres applications Excel dédiées . Cette extension de fonctionnalités je l'ai réalisé avec VB2005 Express. Comme je ne suis pas un spécialiste de la programmation mais je me débrouille, j'ai besoin de savoir quand l'utilisateur lance l'extension VB2005 , de faire un état des lieux des process Excel/ Word en cours et de lancer si nécessaire les applications dont j'ai besoin.
Dim proc1 As Process()
proc1 = Process.GetProcessesByName("excel")
TextBox1.Text = proc1.Length.ToString
A partir de là, comment identifier les noms des applications Excel en cours .
Bonne reception JJK
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
Un moyen simple d'accéder à *une* instance en cours est la fonction GetObject. Par exemple, GetObject("","Excel.Application").
A voir si il est alors possible d'accéder à toutes les instances à à partir d'une seule....
Sinon il est souvent préférable d'expliquer le but poursuivi ce qui peut entrainer une suggestion alternative (mon premier mouvement serait de voir si le modèle de programmation Excel et Word ne permettent pas cela avec des addins par exemple, voir peut-être un groupe Excel/Word).
"JJK94" a écrit dans le message de news:
objectif : quand je lance mon application, j'ai besoin d'analyser les process "Excel" et "Word" en cours et déterminer les fichiers utilisés, autrement dit comment créer les objects "office" associés à ces process à noter que j'utilise Office 2003 , et installer les réferences interop..... je voudrai à partir des process.ID , accéder aux applications office 2003 en cours
Merci pour votre aide JJK
Patrice
Si tu veux savoir si un fichier en particulier est ouvert dans Excel tu peux utiliser : obj=GetObject("c:tempfichier.xls") ce qui retournera l'objet classeur ouvert actuellement par une instance d'Excel (mais pas les deux si ouvert deux fois) ou Nothing si ce fichier n'est pas ouvert. A partir de là tu peux remonter vers l'objet application et voir tous les classeurs ouverts par cette instance.
Si tu veux prendre le control de toutes les instances Excel, je ne sais pas comment faire (GetObject "","Excel.Application") permet donc de prendre le controle d'une instance ouverte (peut-être la première lancée).
Les utilisateurs lancent ils couramment plusieurs fois Excel. C'est une instance différente par application ou des classeurs différents ouvert par la même instance ?
Bon courage...
"JJK94" a écrit dans le message de news: %
bonjour, merci pour votre réponse le contexte est celui-ci: A l'origine , j'ai développé une application excel/word vba autonome. Il a fallu ajouter des fonctionnalités impliquant des formulaires, des menus supplémentaires, de la gestion de fichiers... des communications avec d'autres applications Excel dédiées . Cette extension de fonctionnalités je l'ai réalisé avec VB2005 Express. Comme je ne suis pas un spécialiste de la programmation mais je me débrouille, j'ai besoin de savoir quand l'utilisateur lance l'extension VB2005 , de faire un état des lieux des process Excel/ Word en cours et de lancer si nécessaire les applications dont j'ai besoin.
Dim proc1 As Process()
proc1 = Process.GetProcessesByName("excel")
TextBox1.Text = proc1.Length.ToString
A partir de là, comment identifier les noms des applications Excel en cours .
Bonne reception JJK
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
Un moyen simple d'accéder à *une* instance en cours est la fonction GetObject. Par exemple, GetObject("","Excel.Application").
A voir si il est alors possible d'accéder à toutes les instances à à partir d'une seule....
Sinon il est souvent préférable d'expliquer le but poursuivi ce qui peut entrainer une suggestion alternative (mon premier mouvement serait de voir si le modèle de programmation Excel et Word ne permettent pas cela avec des addins par exemple, voir peut-être un groupe Excel/Word).
"JJK94" a écrit dans le message de news:
objectif : quand je lance mon application, j'ai besoin d'analyser les process "Excel" et "Word" en cours et déterminer les fichiers utilisés, autrement dit comment créer les objects "office" associés à ces process à noter que j'utilise Office 2003 , et installer les réferences interop..... je voudrai à partir des process.ID , accéder aux applications office 2003 en cours
Merci pour votre aide JJK
Si tu veux savoir si un fichier en particulier est ouvert dans Excel tu peux
utiliser :
obj=GetObject("c:tempfichier.xls")
ce qui retournera l'objet classeur ouvert actuellement par une instance
d'Excel (mais pas les deux si ouvert deux fois) ou Nothing si ce fichier
n'est pas ouvert. A partir de là tu peux remonter vers l'objet application
et voir tous les classeurs ouverts par cette instance.
Si tu veux prendre le control de toutes les instances Excel, je ne sais pas
comment faire (GetObject "","Excel.Application") permet donc de prendre le
controle d'une instance ouverte (peut-être la première lancée).
Les utilisateurs lancent ils couramment plusieurs fois Excel. C'est une
instance différente par application ou des classeurs différents ouvert par
la même instance ?
Bon courage...
"JJK94" <jjk94@hotmail.fr> a écrit dans le message de news:
%23ymNAglNHHA.4172@TK2MSFTNGP03.phx.gbl...
bonjour, merci pour votre réponse
le contexte est celui-ci:
A l'origine , j'ai développé une application excel/word vba autonome. Il a
fallu ajouter des fonctionnalités impliquant des formulaires, des menus
supplémentaires, de la gestion de fichiers... des communications avec
d'autres applications Excel dédiées . Cette extension de fonctionnalités
je l'ai réalisé avec VB2005 Express.
Comme je ne suis pas un spécialiste de la programmation mais je me
débrouille, j'ai besoin de savoir quand l'utilisateur lance l'extension
VB2005 , de faire un état des lieux des process Excel/ Word en cours et de
lancer si nécessaire les applications dont j'ai besoin.
Dim proc1 As Process()
proc1 = Process.GetProcessesByName("excel")
TextBox1.Text = proc1.Length.ToString
A partir de là, comment identifier les noms des applications Excel en
cours .
Bonne reception
JJK
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
OyiAcPkNHHA.3552@TK2MSFTNGP03.phx.gbl...
Un moyen simple d'accéder à *une* instance en cours est la fonction
GetObject. Par exemple, GetObject("","Excel.Application").
A voir si il est alors possible d'accéder à toutes les instances à à
partir d'une seule....
Sinon il est souvent préférable d'expliquer le but poursuivi ce qui peut
entrainer une suggestion alternative (mon premier mouvement serait de
voir si le modèle de programmation Excel et Word ne permettent pas cela
avec des addins par exemple, voir peut-être un groupe Excel/Word).
"JJK94" <jjk94@hotmail.fr> a écrit dans le message de news:
e7nSTxjNHHA.2468@TK2MSFTNGP06.phx.gbl...
objectif :
quand je lance mon application, j'ai besoin d'analyser les process
"Excel" et "Word" en cours et déterminer les fichiers utilisés,
autrement dit comment créer les objects "office" associés à ces process
à noter que j'utilise Office 2003 , et installer les réferences
interop.....
je voudrai à partir des process.ID , accéder aux applications office
2003 en cours
Si tu veux savoir si un fichier en particulier est ouvert dans Excel tu peux utiliser : obj=GetObject("c:tempfichier.xls") ce qui retournera l'objet classeur ouvert actuellement par une instance d'Excel (mais pas les deux si ouvert deux fois) ou Nothing si ce fichier n'est pas ouvert. A partir de là tu peux remonter vers l'objet application et voir tous les classeurs ouverts par cette instance.
Si tu veux prendre le control de toutes les instances Excel, je ne sais pas comment faire (GetObject "","Excel.Application") permet donc de prendre le controle d'une instance ouverte (peut-être la première lancée).
Les utilisateurs lancent ils couramment plusieurs fois Excel. C'est une instance différente par application ou des classeurs différents ouvert par la même instance ?
Bon courage...
"JJK94" a écrit dans le message de news: %
bonjour, merci pour votre réponse le contexte est celui-ci: A l'origine , j'ai développé une application excel/word vba autonome. Il a fallu ajouter des fonctionnalités impliquant des formulaires, des menus supplémentaires, de la gestion de fichiers... des communications avec d'autres applications Excel dédiées . Cette extension de fonctionnalités je l'ai réalisé avec VB2005 Express. Comme je ne suis pas un spécialiste de la programmation mais je me débrouille, j'ai besoin de savoir quand l'utilisateur lance l'extension VB2005 , de faire un état des lieux des process Excel/ Word en cours et de lancer si nécessaire les applications dont j'ai besoin.
Dim proc1 As Process()
proc1 = Process.GetProcessesByName("excel")
TextBox1.Text = proc1.Length.ToString
A partir de là, comment identifier les noms des applications Excel en cours .
Bonne reception JJK
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
Un moyen simple d'accéder à *une* instance en cours est la fonction GetObject. Par exemple, GetObject("","Excel.Application").
A voir si il est alors possible d'accéder à toutes les instances à à partir d'une seule....
Sinon il est souvent préférable d'expliquer le but poursuivi ce qui peut entrainer une suggestion alternative (mon premier mouvement serait de voir si le modèle de programmation Excel et Word ne permettent pas cela avec des addins par exemple, voir peut-être un groupe Excel/Word).
"JJK94" a écrit dans le message de news:
objectif : quand je lance mon application, j'ai besoin d'analyser les process "Excel" et "Word" en cours et déterminer les fichiers utilisés, autrement dit comment créer les objects "office" associés à ces process à noter que j'utilise Office 2003 , et installer les réferences interop..... je voudrai à partir des process.ID , accéder aux applications office 2003 en cours