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

API, COM et SDKs Delphi Discussion :

Intercepter les messages émis par WordApplication


Sujet :

API, COM et SDKs Delphi

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Intercepter les messages émis par WordApplication
    Bonjour à vous tous,

    J'utilise le composant Delphi TWordApplication.
    Je veux être capable d'intercepter le message que Word emet, pour agir en conséquence. Je fais la distinction entre message et exception, le message ne levant pas une exception au sens DELPHI du terme.

    Il arrive par exemple que mon application DELPHI veuille ouvrir un fichier déjà ouvert par l'utilisateur. Word emettra alors le message:
    fichier vérouillé pour modification. Cliquer sur notifier pour... etc..
    C'est ce message que je veux intercepter. Est-ce possible ? Si oui comment ?

    Je recherche une méthode générale qui me permette d'analyser les messages émis. Plutôt que de tester l'existence d'une application Word et de lister les fichiers qui sont en cours d'édition.

    J'utilise Office 2000 et Delphi 7.
    Avec tous mes remerciements,
    Claude Animo

    le code que j'utilise est simplissime.
    Le fichier 'c:\foo.doc' est déjà ouvert.
    J'invoque Word dans une autre instance que celle déjà présente (connectKind := ckNewInstance)
    L'utilisation d'un try...end; est bien sûr inadaptée dans ce cas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var FileName:OleVariant; 
     
    FileName:= 'C:\foo.doc'; 
    WordApplication.connect(); 
    WordApplication.Documents.Add(Filename,EmptyParam,EmptyParam,EmptyParam);

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par Claude Animo
    Word emettra alors le message:
    fichier vérouillé pour modification. Cliquer sur notifier pour... etc..
    C'est ce message que je veux intercepter. Est-ce possible ? Si oui comment ?
    Dans ce cas il n'y a pas propagation de l'erreur du serveur Automation (Word) vers le client automation (Delphi).
    Dans la doc de Word il existe qq événements qui sont émis du serveur vers le client mais rien sur les erreurs sauf peut être la gestion de la correction orthographique.

    Peut être coupler Delphi avec Word et VBA ?
    En attendant d'autres réponses, tu peux aussi poster dans les newsgroups Microsoft.

Discussions similaires

  1. [MFC][Visual .net] Intercepter les messages
    Par ptitesouris dans le forum MFC
    Réponses: 1
    Dernier message: 31/08/2006, 17h44
  2. intercepter les messages clavier dans un CDialog
    Par firejocker dans le forum MFC
    Réponses: 3
    Dernier message: 26/12/2005, 12h14
  3. Intercepter les messages windows
    Par schneed dans le forum C++Builder
    Réponses: 2
    Dernier message: 01/12/2005, 15h12
  4. [Indy] Intercepter les messages coté client
    Par PpPool dans le forum Web & réseau
    Réponses: 6
    Dernier message: 04/07/2005, 11h19
  5. Réponses: 2
    Dernier message: 06/04/2004, 09h39

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