IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Comment fermer un programme ouvert avec la fonction Shell


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Par défaut Comment fermer un programme ouvert avec la fonction Shell
    Bonjour ! J'utilise le code trouvé ici (Comment ouvrir un fichier en utilisant l'exécutable associé) pour imprimer des pdfs depuis mon formulaire. J'essaye de faire en sorte qu'une fois que l'impression est lancée, l'exécutable qui s'est ouvert pour lire le pdf se referme. Pour ça j'ai codé ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub cmdImprimer_Click()
        ShellExecute Me.hwnd, "open", CurrentProject.Path & "\PDFs\F-" & indiceFiche & ".pdf", "", CurrentProject.Path, 1
        KillApp (Me.hwnd)
    End Sub
    où la fonction kill correpond à celle-ci (Comment fermer un programme ouvert avec la fonction Shell). Cependant ça n'a pas l'air de fonctionner. Il est indiqué qu'on peut utiliser la valeur renvoyée par la fonction Shell() comme identifiant de programme, moi j'ai mis Me.hwnd, mais j'ai essayé aussi avec les autres paramètres et rien ...! Où est-ce que je me trompe ? Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Si tu veux juste imprimer, une petite variante

    Comment imprimer un document sans pour autant ouvir l'application associée


    Starec

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Par défaut
    Salut, c'est effectivement la même méthode que j'ai utilisé, sauf que ça m'ouvre Acrobat Reader pour imprimer !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par nicolas2603 Voir le message
    Salut, c'est effectivement la même méthode que j'ai utilisé, sauf que ça m'ouvre Acrobat Reader pour imprimer !
    Regardes bien le lien, les paramètres de la chaine sont différents d'une ouverture.

    Starec

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Par défaut
    Je note que j'ai fait une erreur, je n'ai pas copié le bon code dans mon post au desssus. Bien entendu ma fonction utilise print et non open, et il me semble que c'est le seul paramètre qui change non ?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    581
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 581
    Par défaut
    Bon j'ai recommencé et recommencé mon code mais toujours pareil, lorsque je clic sur le bouton imprimer j'ai Adobe Acrobat Pro qui se lance mais reste vide, on ne voit pas le PDF s'afficher, mais il s'imprime. Mon code est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Compare Database
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
        (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
        ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    ----------------------
     
    Private Sub cmdImprimer_Click()
        ShellExecute Me.hwnd, "print", CurrentProject.Path & "\PDFs\F-" & indiceFiche & ".pdf", "", CurrentProject.Path, 1
    End Sub
    Donc est-ce que ça vient du fait que c'est Acrobat Pro et non Reader que l'application se lance ?

Discussions similaires

  1. [IDE] Comment fermer par programme un dialog affiché avec execute
    Par Pascale38 dans le forum C++Builder
    Réponses: 21
    Dernier message: 03/04/2013, 16h10
  2. Réponses: 2
    Dernier message: 17/07/2011, 12h16
  3. fermeture d'un fichier ouvert avec la fonction shell
    Par julio02200 dans le forum Access
    Réponses: 10
    Dernier message: 19/06/2006, 10h58
  4. Comment fermer une Fenetre Modal avec Code ?
    Par Soulama dans le forum Langage
    Réponses: 19
    Dernier message: 13/07/2005, 11h17
  5. comment deployer un programme fait avec jbuilder
    Par showmetheway dans le forum JBuilder
    Réponses: 6
    Dernier message: 23/09/2003, 01h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo