Bonjour à tous,
Voici mon problème. Je crée un fichier pdf sans problème, je le renomme le déplace... mais je voudais le fermer et je n'y arrive avec aucun code.
Quelqu'un peut-il m'aider ?
Bonjour à tous,
Voici mon problème. Je crée un fichier pdf sans problème, je le renomme le déplace... mais je voudais le fermer et je n'y arrive avec aucun code.
Quelqu'un peut-il m'aider ?
J'ai simplement essayer un closeEnvoyé par bbil
et.... à la suite de quoi (un code, sans doute...)J'ai simplement essayer un close
Tu n'as quand même pas écrit "close" tout seul ? (regarde dans l'aide en ligne ce que fait close et à quoi il s'applique)![]()
J'ai écris ca:
Maintenant je ne trouve rien qui puisse me permettre de de fermer le pdf ouvert
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Function testdomi() Dim FileSystemObject As New FileSystemObject dates = Year(Date) & Right("0" & Month(Date), 2) & Right("0" & Day(Date), 2) daten = Right("0" & Day(Date), 2) & Right("0" & Month(Date), 2) & Year(Date) datem = Year(Date) & Right("0" & Month(Date), 2) FileSystemObject.CopyFile "c:\data\temp\test.pdf", "C:\data\" & (datem) & "\" & (dates) & "\" & Forms![report selection]![CmbCommodity] & "_" & (dates) & ".pdf", True FileSystemObject.DeleteFile "c:\data\temp\*.pdf" Shell ("C:\Program Files\Acrobat Reader\Reader\AcroRd32.exe C:\data\" & (datem) & "\" & (dates) & "\" & Forms![report selection]![CmbCommodity] & "_" & (dates) & ".pdf")
Ha ben non, une fois que tu as ouvert Acrobat avec Shell, il vit sa vie.
Tu peux éventuellement retrouver le process qui correspond, et le fermer. C'est un peu violent, je l'avoue...
A moins qu'il n'existe une librairie VB(A) pour piloter Acrobat, mais je n'y crois pas trop...
Même si c'est pas très propre et qu'il faut kill le process ca me convient.Envoyé par Megaxel
Alors va-s-y!
![]()
Non, sérieux, je ne sais pas le faire, mais j'ai vu plusieurs sujet sur ça dans ce forum, alors fais une petite recherche avancée, et tu vas trouver ton bonheur.
As-tu fait une recherche sur le forum ? Il me semble que le sujet a été traité.
Je regarde mais fais une recherche sur le forum Visual Basic de ton côté "VBA and Acrobat"
A+
Pour ouvrir oui mais pas pour fermer.Envoyé par ouskel'n'or
Bien, je crois que tu as la solution entièrement VBA dans le dernier message à cette adresse
http://www.developpez.net/forums/vie...robat&start=15
Bonne chance
tu peu utiliser sendKey..pour fermer l'application..;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim MonApp Sub Ouvre() MonApp = Shell("notepad ") End Sub Sub Ferme() AppActivate MonApp, True SendKeys ("%{F4}") 'envoi altF4" End Sub
Merci pour ton conseil:Envoyé par bbil
J'ai essayé
Mais ca ne fonctionne pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Sub Ferme() MonApp = Shell("C:\Program Files\Acrobat Reader\Reader\AcroRd32.exe") AppActivate MonApp, True SendKeys ("%{F4}") 'envoi altF4" End Sub![]()
J'ai bien une méthode jmfienne, pas orthodoxe, mais fonctionnant :
Tout en haut du code:
puis, pour essayer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Private returnvalue
et alors, pour "jeter l'appli" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub Command1_Click() On Error Resume Next '---- pour le cas où... returnvalue = Shell("C:\Program Files\Adobe\Acrobat 5.0\Reader\AcroRd32.exe") '---(chemin chez moi) Err.Clear ' et on rétablit le compteur dez erreurs à 0 AppActivate returnvalue End Sub
Pas orthodoxe, tout çà, mais marche bien chez moi...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Command2_Click() If returnvalue Then SendKeys ("%{F4}") 'envoi altF4" End If End Sub
attention : ne pas changez le nom de returnvalue
ne me demandez pas d'explications... je les cherche encore !![]()
Aie toujours pas la il me ferme mon mon acces à la place de acrobat![]()
celà veut dire que access avait le focus et pas acrobat !
essaye d'abord celà
autre méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Command2_Click() If returnvalue Then on error resume next '==== pour le cas où acrobat aurait déjà le focus appactivate returnvalue '<=======* ajouté err.clear SendKeys ("%{F4}") 'envoi altF4" End If End Sub
placer acrobat en objet Ole sur ta form et l'exciter ou le fermer à la demande
Si celà non plus ne te convient pas, il te faudra alors "zigouiller" par API (à éviter si possible pour l'instant)
Je ne sais pas si ça t'irait exactement, mais jette un petit coup d'oeil à ça:
http://www.developpez.net/forums/vie...=liste+process
une version VB6 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Public Function KillProcess(ByVal ProcessName As String) As Boolean Dim svc As Object Dim sQuery As String Dim oproc Set svc = GetObject("winmgmts:root\cimv2") sQuery = "select * from win32_process where name=' & ProcessName & " '" For Each oproc In svc.execquery(sQuery) oproc.Terminate Next Set svc = Nothing End Function
Rolala ca m'avait l'ai bienEnvoyé par ThierryAIM
Mais je recois une automation error, je dois quand même juste changer "ProcessName" dans ton code?
slt,
FAQ Access pour fermer un programme ouvert avec Shell :
http://access.developpez.com/faq/?pa...tion#close_exe
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL
Blog Office Mon Site DVP
Partager