XL 2013 Fermer un fichier pdf avec VBA

Sebast

XLDnaute Impliqué
Bonjour à toutes et à tous,

je cherche comment fermer un fichier .pdf depuis VBA

Mon code échoue avec le message :



Erreur d'exécution 9 - L'indice n'appartient pas à la sélection



Sub Fermer_fichier()

Chemin = ThisWorkbook.Path

Chemin_et_nom = ThisWorkbook.Path & "\Toto.pdf"

Windows("Chemin_et_nom").Close

End Sub



Au début, je pensais que c'était parce que je ne l'avais pas ouvert, mais

ça plante même quand le fichier pdf est ouvert …



Je sais comment tester si le fichier est bien présent mais pas

1) s'il est ouvert

2) comment le fermer



Quelqu'un a une idée ?



Merci d'avance

PS : désolé, tout à coup, je ne vois plus comment mettre en forme le texte (code, citations etc.) ...
 

Pièces jointes

  • Table_forum.xlsm
    15 KB · Affichages: 26
  • Toto.pdf
    13.4 KB · Affichages: 31

MJ13

XLDnaute Barbatruc
Re

Bonjour Michel,
merci pour ces précisions; je n'ai malheureusement jamais utilisé les sendkeys et ne saurai donc pas donner mon avis ...

Tu évoques l'alternative consistant à devoir utiliser SHELL : à ce propos, as-tu une idée pourquoi la méthode Open fonctionne alors que Close conduit à un plantage (voir mon dernier post #12) ?

Le problème, c'est qu'on ne sait pas comment tu ouvres ton PDF.

Par exemple chez moi ton PDF, je l'ouvre avec Edge.

Pour le fermer je peux utiliser ce code. Sinon, il suffit de remplacer MicrosoftEdge par le nom de l'application que tu trouveras en allant dans le gestionnaire de tâche (Ctrl+Alt+Suppr.).

VB:
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Kill_process()
'Sleep 1000
killString = "taskkill /F /IM MicrosoftEdge.exe"
'killString = "taskkill /F /IM firefox.exe"
'Sleep 1000
Call Shell(killString, vbHide)
'Sleep 1000
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16