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 :

Gestion de Word sous Delphi


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 84
    Points : 58
    Points
    58
    Par défaut Gestion de Word sous Delphi
    Bonjour et bonne années 2006 !

    Question sur Word et Delphi :
    Comme cela est explique dans le FAQ, je gère une appli qui génère un document Microsoft Word qui a un moment apparait a l'écran.
    Et j'ai un problème si l'utilisateur ferme le document Word en faisant Quitter (via le menu ou la croix en haut a droit) sous word .

    I a t il une possibilité pour empêcher cela ? cad que l'utilisateur ne puisse plus fermer de lui même word :

    Merci a+

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    Et j'ai un problème si l'utilisateur ferme le document Word en faisant Quitter (via le menu ou la croix en haut a droit) sous word
    Quel problème as tu ?

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 84
    Points : 58
    Points
    58
    Par défaut explications
    C.-à-d. :

    Mon appli gère le document : l'ouvre écrit l'enregistre et le ferme.
    Mais avant de l'enregistrer, l'utilisateur peut visualiser le document. A ce moment la il peut malheureusement aussi ferme le document. Puis mon appli continue et arrive la fermeture qui ne se passe bien sur mal si le doc Word a déjà été fermé.

    Le problème est que je ne sais pas récupérer l'info si mon doc existe toujours on non ...

    Un test style:

    WordApplication:=GetActiveOleObject('Word.Application');

    Répond oui s'il y a une appli Word qui tourne mais sans préciser laquelle ...

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    Je vois deux méthodes qui pourraient résoudre se problème.

    La première consiste à mettre la partie du code de fermeture de WordApplication dans une clause Try Except. (Je ne sais pas ce que celà donne et je ne l'a trouve pas très propre).

    La deuxième consiste a générer ton document en arrière plan (Ne pas affichier Word durant le traitement), enregistrer le document, fermer l'instance Word et réouvrir le fichier word par ShellExecute().
    Cette méthode durera légerement plus longtemps mais plus fiable sur ce genre de problème.

    Maintenant, je ne sais pas si tu peux l'adapter à tes besoins.

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 84
    Points : 58
    Points
    58
    Par défaut
    Merci pour la reponse.

    Pour l'instant, j'utilise la methode du try except.

    mais comme moi non pus je ne la trouve pas tres propre j'en cherche une autre.

    je vais donc tenter la seconde methode (pas simple nom plus car dans mon appli, le traitement du nom à l'enregisrement est particulier ...)

    merci
    et bonne années 2006!


  6. #6
    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,
    utilise se code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TForm1.WordApplication1DocumentBeforeClose(ASender: TObject;
      const Doc: _Document; var Cancel: WordBool);
    begin
     Cancel:=True; // Annule la fermeture du document actif
    end;

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

Discussions similaires

  1. Gestion de fichiers sous delphi 7
    Par byc001 dans le forum Débuter
    Réponses: 2
    Dernier message: 24/11/2011, 14h29
  2. Réponses: 1
    Dernier message: 17/10/2006, 04h39
  3. Word sous delphi : ecrire en majuscule
    Par muquet dans le forum Langage
    Réponses: 1
    Dernier message: 10/01/2006, 15h27
  4. Insérer un tableau sous Word depuis Delphi
    Par muquet dans le forum Langage
    Réponses: 1
    Dernier message: 23/12/2005, 11h59
  5. Sous Word depuis Delphi
    Par alexmorel dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 17/06/2004, 12h45

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