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

 Delphi Discussion :

Lister les documents ouvert dans un processus Word


Sujet :

Delphi

  1. #1
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 665
    Points : 5 232
    Points
    5 232
    Par défaut Lister les documents ouvert dans un processus Word
    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;

  2. #2
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 119
    Points
    3 119
    Par défaut
    Bonjour,

    chez moi en D7, cette fonction me retourne les noms des documents ouverts :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure ListerDocuments(var InstanceDeWord : Variant );
    Var
      i : Integer ;
      Nom : String ;
    Begin
      for i := InstanceDeWord.Documents.Count downto 1 do
        begin
          Nom := InstanceDeWord.Documents.Item(i).name ;
          MessageDlg(Nom, mtInformation, mbOKCancel, 0);
        end;
    End ;
    attention, les documents sont numérotés de 1 à Count et non de 0 à Count-1.

    A+
    Charly

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 665
    Points : 5 232
    Points
    5 232
    Par défaut
    Citation Envoyé par Charly910 Voir le message

    attention, les documents sont numérotés de 1 à Count et non de 0 à Count-1.

    A+
    Charly
    C'était donc ça.
    Merci, ça marche beaucoup mieux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD21] Lister les onglets ouverts dans le navigateurs internet
    Par LeonCosnyd dans le forum WinDev
    Réponses: 3
    Dernier message: 13/01/2017, 11h03
  2. Réponses: 9
    Dernier message: 10/06/2015, 17h17
  3. [Débutant] voir les documents ouverts dans la session précédente
    Par Golzinne dans le forum Visual Studio
    Réponses: 0
    Dernier message: 15/01/2013, 09h44
  4. [WD10] lister les fenêtres ouvertes dans le menu <Fenêtre>
    Par GodGives dans le forum WinDev
    Réponses: 3
    Dernier message: 26/03/2010, 17h46
  5. Réponses: 4
    Dernier message: 11/04/2007, 11h24

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