OVH Cloud OVH Cloud

Shell ou CreateObject

3 réponses
Avatar
Jacques Maugery
bonjour tout le monde,

Qui fait quoi ?

1) Set oExcel = New Excel.Application
2) retval = Shell("C:\Program Files\SolidWorks\SLDWORKS.exe",
vbMaximizedFocus)
3) Set swApp = CreateObject("SldWorks.Application")

À première vue, les 3 fonctions ouvrent l'application. Avec Shell, je suis
capable de gérer la taille de ma fenêtre, même si aucune méthode n'a été
prévue (par exemple SolidWorks).

Quelqu'un peut-il me dire les différences, s'il y en a, et si certaines sont
à éviter ?

Merci

Jacques.

3 réponses

Avatar
François Picalausa
Hello,

Shell ne te donne aucun contrôle sur l'objet (mis à part la taille de la
fenêtre principale).
Les deux autres méthodes permettent de gérer les documents, ... et sont
*prévues* à cet effet. Ces deux autres méthodes se différencient par early
binding, ou late binding:
http://faq.vb.free.fr/index.php?question4

Si tu souhaites simplement lancer l'application, je te conseille d'utiliser
Shell (ou ShellExecute ou encore CreateProcess)
Si tu souhaites gérer des documents dans l'application, utilise 1 ou 3 en
fonction de ce qui est expliqué sur la faq.

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com

"Jacques Maugery" éantca> a écrit dans le
message de news: YqY0d.2587$
1) Set oExcel = New Excel.Application
2) retval = Shell("C:Program FilesSolidWorksSLDWORKS.exe",
vbMaximizedFocus)
3) Set swApp = CreateObject("SldWorks.Application")

À première vue, les 3 fonctions ouvrent l'application. Avec Shell, je
suis capable de gérer la taille de ma fenêtre, même si aucune méthode
n'a été prévue (par exemple SolidWorks).


Avatar
Jacques Maugery
merci François pour ces éclaircissements.

Jacques


"François Picalausa" a écrit dans le message de
news:uxBG%
Hello,

Shell ne te donne aucun contrôle sur l'objet (mis à part la taille de la
fenêtre principale).
Les deux autres méthodes permettent de gérer les documents, ... et sont
*prévues* à cet effet. Ces deux autres méthodes se différencient par early
binding, ou late binding:
http://faq.vb.free.fr/index.php?question4

Si tu souhaites simplement lancer l'application, je te conseille


d'utiliser
Shell (ou ShellExecute ou encore CreateProcess)
Si tu souhaites gérer des documents dans l'application, utilise 1 ou 3 en
fonction de ce qui est expliqué sur la faq.

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com

"Jacques Maugery" éantca> a écrit dans le
message de news: YqY0d.2587$
> 1) Set oExcel = New Excel.Application
> 2) retval = Shell("C:Program FilesSolidWorksSLDWORKS.exe",
> vbMaximizedFocus)
> 3) Set swApp = CreateObject("SldWorks.Application")
>
> À première vue, les 3 fonctions ouvrent l'application. Avec Shell, je
> suis capable de gérer la taille de ma fenêtre, même si aucune méthode
> n'a été prévue (par exemple SolidWorks).




Avatar
ng
Salut,

1/ Lance simplement l'exe, on peut ensuite controler la fenetre via les APIs
Standarts Windows.
2 et 3/ Instancie un objet Excell.Application (New => EarlyBinding) ou
SldWorks.Application (CreateObject => LateBinding) te permettant de
controler excel par automation.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/


Jacques Maugery wrote:
bonjour tout le monde,

Qui fait quoi ?

1) Set oExcel = New Excel.Application
2) retval = Shell("C:Program FilesSolidWorksSLDWORKS.exe",
vbMaximizedFocus)
3) Set swApp = CreateObject("SldWorks.Application")

À première vue, les 3 fonctions ouvrent l'application. Avec Shell, je
suis capable de gérer la taille de ma fenêtre, même si aucune méthode
n'a été prévue (par exemple SolidWorks).

Quelqu'un peut-il me dire les différences, s'il y en a, et si
certaines sont à éviter ?

Merci

Jacques.