Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/07/2011, 13h09   #1
Invité de passage
 
Homme Amine Benhaddi
Étudiant
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme Amine Benhaddi
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 0
Points : 0
Par défaut Fermer un logiciel externe

Bonjour à tous,

Je suis actuellement en stage et je dois développer une application en Access 2007.
J'ai besoin d'ajouter une photo à mon formulaire depuis une webcam.
J'ai pu faire tout ça en appelant le logiciel avec (stAppName = "C:\Users\user\AppData\Roaming\NCH Software\Program Files\Debut\debut.exe") mais je veux que le logiciel ferme automatiquement après avoir prendre une photo.
Y a t-il un moyen pour faire cela?
C'est un peut urgent puisque la période de stage touche a sa fin.
Merci d'avance et bonne journée !
TheEtudiant est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 14h35   #2
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 209
Points : 6 209
Envoyer un message via MSN à argyronet
Bonjour,

Il faut pour fermer un programme, une application ou en d'autres termes, une fenêtre, récupérer le Handle (HWnd) de celle-ci.
Ensuite, grâce à un jeu d'API idoine, fermer la fenêtre.
Pour récupérer ce Handle, il te faut passer par un Shell() qui te retourne un PID et de ce PID tu peux obtenir le Handle. Bon, si tu n'as pas l'habitude, ça risque de ne pas être très abordable pour ton stage car il va falloir que tu saches l'expliquer.

Alors, il est également possible d'essayer d'appeler les fonctions internes du programme lui même et grâce à un SendKeys(), tenter de simuler l'équivalent du "Fermer" ou "Quitter" de ton programme...

Exemple :
Code :
1
2
3
4
5
6
7
8
9
10
Private Sub OpenCloseCalc()
Dim PID                                                As Long
Dim intCount                                           As Integer
    PID = Shell("calc.exe", vbNormalFocus)
    For intCount = 1 To 100
        SendKeys intCount & "{+}", True
    Next intCount
    SendKeys "=", True
    SendKeys "%{F4}", True
End Sub
Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 17h07   #3
Invité de passage
 
Homme Amine Benhaddi
Étudiant
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme Amine Benhaddi
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 0
Points : 0
Par défaut Merci

Bonjour et merci beaucoup pour votre réponse.
Vous pouvez m'expliquer en détail ce que fait le code que vous avez écrit?
et comment puis-je l'adapter à un logiciel en le fermant une foi la photo est prise?
Quand je l'ai essayé sur mon application il a lancé la calculatrice et m'a fermé la fenêtre access.
Merci encore une foi, et vraiment désolé pour le dérangement
TheEtudiant est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 09h13   #4
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 209
Points : 6 209
Envoyer un message via MSN à argyronet
Si Access a été fermé, c'est que tu as donné le focus (cliqué sur la fenêtre) de l'application.
Or, le processus, tel qu'il est écrit, doit garder le focus afin que le SendKeys agisse sur la calculatrice et non sur l'application.
correspond à Alt+F4 qui est la combinaison de la fermeture d'une fenêtre pour quasiment tous les programmes

Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 14h59   #5
Invité de passage
 
Homme Amine Benhaddi
Étudiant
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme Amine Benhaddi
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 0
Points : 0
Ah oui je vois, merci beaucoup.
Mais je peux ajouter une condition a la fermeture?
Genre pour un logiciel de prise de photos, il ferme directement après avoir pris une photo? c'est pour éviter que l'utilisateur prend 2 photos alors qu'il ne faut en prendre qu'une pour chaque enregistrement. vous voyez le problème?
TheEtudiant est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 15h19   #6
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 209
Points : 6 209
Envoyer un message via MSN à argyronet
Je ne connais pas ton logiciel... Je ne peux pas t'aider à ce niveau.
Il t'appartient de déterminer dans la config de ton logiciel que seule 1 photo puisse être prise mais ça m'étonnerait que ce soit possible.

Avec le SendKeys(), tu peux piloter le jeu de raccourcis idoines pour prendre la photo au même titre que dans l'exemple précédent, une opération arithmétique est effectuée dans la calculatrice.

Si effectivement tu arrives à piloter cela - en admettant que les créateurs du soft aient prévus la possiblité de prendre une photo sans utiliser la souris - tu dois pouvoir automatiser le processus.

Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 18h02   #7
Invité de passage
 
Homme Amine Benhaddi
Étudiant
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme Amine Benhaddi
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 0
Points : 0
Pour le logiciel c'est un logiciel qui n'a pas comme paramètres de prendre une photo (Debut Video Capture Software).
Je peux trouver un logiciel Open source? pour le modifier?
Sinon, Comment peut-on faire pause avec VBA pendant une période déterminée, et est ce qu'il existe des méta-caractères pour ce langage?
TheEtudiant est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2011, 09h00   #8
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 209
Points : 6 209
Envoyer un message via MSN à argyronet
Le VBA est plus puisssant qu'il n'y paraît et ce grâce à l'implémentation possible des API Windows.
Par exemple, pour ton besoin, tu peux envisager d'utiliser la fonction WaitForSingleObject()...

Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2011, 14h05   #9
Invité de passage
 
Homme Amine Benhaddi
Étudiant
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme Amine Benhaddi
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 0
Points : 0
Je vois et j'avoue que je suis nul en VBA s'il vous plait vous pouvez me recommander un site ou je trouverai des cours de ce type? Merci beaucoup vous m'avez trop aider
TheEtudiant est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2011, 14h46   #10
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 209
Points : 6 209
Envoyer un message via MSN à argyronet
Oh, euh, j'en connais bien un, humm, bon aller je te le donne...
Clique ici pour y accéder.
Tu verras, il y a plein de conseils, de tutos et de personnes bénévoles fort sympatiques qui sont prêtes à t'aider.

Sinon, dans ma signature, il y un ouvrage sur VBA qui est pas mal.

Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h41.


 
 
 
 
Partenaires

Hébergement Web