La fermeture de l'application (Acrobat, Word, Excel) après la fermeture de la dernière document
J'ai quelques fonctions qui génèrent Word, Excel ou des documents PDF. Par exemple, celui que je suis en train de travailler sur l'exportation d'un rapport vers un fichier PDF. Après la fermeture du rapport, il ouvre un autre formulaire PDF créé avec LiveCycle ES 8.2 et il le remplit avec les données à partir d'une base de données. Après cela, le document est fermé, mais pour une raison quelconque, l'instance de Acrobat est toujours ouvert en premier plan avec aucun document n'est ouvert.
Voici le code:
DoCmd.OpenReport "myReport", acViewPreview
DoCmd.OutputTo acOutputReport, "", acFormatPDF, "C:\myReport.pdf", False
DoCmd.Close acReport, "myReport"
Dim gApp, avDoc, pdDoc, jso
Set gApp = CreateObject("AcroExch.app")
Set avDoc = CreateObject("AcroExch.AVDoc")
If avDoc.Open(exprPDF, "") Then
Set pdDoc = avDoc.GetPDDoc()
Set jso = pdDoc.GetJSObject
'[...]
pdDoc.Save PDSaveIncremental, FileNm 'Save changes to the PDF document
pdDoc.Close 'Close the PDF document
End If
avDoc.Close (True)
Set gApp = Nothing
Set avDoc = Nothing
myReport jamais ouvre n'importe quelle instance de Acrobat. La ligne avDoc.Open
n'. Je voudrais Acrobat fermé quand je ne avDoc.close
. Des idées?
- Je remarque 2 choses que je voudrais essayer...
gApp.Close
et réglagegApp
à rien aprèsavDoc
, de sorte que vous n'êtes pas d'essayer de confondre les choses en ayant des éléments ouvert/fermé hors de l'ordre - Me semble que vous avez des attentes déraisonnables. Normalement la fermeture d'un document ne doit pas fermer l'application qui est de l'affichage du document. Est-il un
gApp.Quit
méthode ou quelque chose simalar? - Déjà essayé le réglage de tout de rien, mais il ne change pas beaucoup. Comme pour les gapps.Fermer et les gapps.Cesser de fumer, les deux méthodes existent et ne rien faire. Mon script remplit le formulaire en format PDF et ensuite l'enregistrer. Il doit être totalement transparent pour l'utilisateur.
Vous devez vous connecter pour publier un commentaire.
Je pense que vous devriez ajouter:
avant la
Qui semble faire de la tique, mais l'application est toujours là, caché... À Fait tuer Acrobat essayer cette méthode ici avec "Acrobat.exe":
Comment puis-je tuer les processus du gestionnaire des tâches par code VBA?
Cette méthode est un peu un marteau, mais il fonctionne.
Après quelques tests, j'ai besoin à la fois proches et quittez tous les objets du document pour s'assurer que l'application se ferme si il n'y a aucun autre document ouvert.
J'ai vécu le même problème et trouvé la solution suivante: