Bonjour,
J'aimerai connaître la liste des documents ouvert dans le processus Word.Application.
En fait, un tas de traitement est effectué sur plein de documents Word.
Et de temps en temps pour une raison que je cherche encore à déterminer, un ou plusieurs de ces traitement plantent et des documents restent ouverts.
Mes fichiers sont nommés sous la forme Cxxxxxx.tmp ou xxxxxx correspond à une valeur aléatoire en hexadécimal sur 6 caractères.
J'ai donc un moyen de les reconnaître.
Mon but est de :
- connaître le nombre de documents ouverts (ça j'y arrive avec FWinword.Documents.Count)
- fermer tout les documents ouverts dont le nom correspond avec ceux générés.
- ne pas fermer les documents potentiellement ouvert par l'utilisateur via l'explorateur windows
- quitter word s'il ne reste plus de documents ouvert (ça j'y arrive avec FWinWord.Quit(SaveChanges := wdDoNotSaveChanges))
J'ai essayé ceci mais ça ne fonctionne pas.
J'ai l'impression qu'il faut connaître le nom du fichier pour utiliser la méthode "Item".
Or c'est justement ce nom de fichier que je cherche à récupérer pour le comparer.
Code Delphi : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 for i := FWinword.Documents.Count - 1 downto 0 do begin Doc := FWinword.Documents.Item(i); Name := Doc.Name; MessageDlg(Name, mtInformation, mbOKCancel, 0); // if (Matches(Name)) then // Doc.Close(SaveChanges := wdDoNotSaveChanges); end;
Partager