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 :

Fermer une fenêtre Word via OLE


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Points : 619
    Points
    619
    Par défaut Fermer une fenêtre Word via OLE
    Je dois convertir des fichiers .doc en .pdf
    J'ai donc le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
             if FileExists(LC_NomPDF) then DeleteFile(LC_NomPDF);
             LO_Doc := LO_Word.Documents.Open(LC_NomDOC);
             Application.ProcessMessages;
             LO_Doc.ExportAsFixedFormat(LC_NomPDF, wdExportFormatPDF);
    Il fonctionne parfaitement
    Par contre certains fichiers Word lorsqu'il s'ouvrent provoque,t l'ouverture d'une fenêtre avec un message d'information.
    Je voudrais fermer cette fenêtre par programme

    L'idéal aurait été d'éviter l'ouverture.
    Donc il faut que j'identifie la fenêtre qui vient de s'ouvrir
    J'utilise EnumWindowsCallback mais je ne vois pas comment identifier à coup sûr la bonne fenêtre et comment la fermer ensuite.

    Merci de vos conseils

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Il n'y aurait pas un mode silencieux pour Word OLE ?

    Genre DisplayAlerts, Visible ou UserControl

    Voir aussi ActiveWindow et Windows
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    La joie de des méthodes avec très peu de paramètres. Il faut bien utiliser le Open mais celle qui dispose de nombreux paramètres en entrée.

    Directement extrait de l'un de mes codes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Doc := WordApplication.Documents.Open(
            FileName,
            ConfirmConversions,
            ReadOnly,
            AddToRecentFiles,
            PasswordDocument,
            PasswordTemplate,
            Revert,
            WritePasswordDocument,
            WritePasswordTemplate,
            Format,
            Encoding,
            Visible,
            OpenAndRepair,
            DocumentDirection,
            NoEncodingDialog);
    Initialisé de la façon suivante dans mon cas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
          FileName := AFileName;
          ConfirmConversions := False;
          ReadOnly := False;
          AddToRecentFiles := False;
          PasswordDocument := '';
          PasswordTemplate := '';
          Revert := False;
          WritePasswordDocument := '';
          WritePasswordTemplate := '';
          Format := 0;
          Encoding := False;
          Visible := True;
          OpenAndRepair := False;
          DocumentDirection := 0;
          NoEncodingDialog := True;
    Teste ce code avec Visible à False, normalement cela devrait convenir.
    Pensez à utiliser les tags dans le titre.
    Avant de poser une question reportez-vous à la FAQ Delphi
    Respectez les règles du forum.

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Points : 619
    Points
    619
    Par défaut
    Exact !
    Je venais de le trouver un peu par hasard.
    Là au moins je sais qu'il y a bien une explication

    Merci beaucoup

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

Discussions similaires

  1. Comment fermer une fenêtre père via sa fenêtre fille ?
    Par kamikazrider dans le forum Windows Forms
    Réponses: 6
    Dernier message: 26/11/2010, 14h05
  2. [Delphi 6] Empêcher l'ouverture ou fermer une fenêtre
    Par KrusK dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 08/09/2005, 11h55
  3. Fermer une fenêtre depuis une autre...
    Par nicolb dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/03/2005, 10h22
  4. Comment fermer une fenêtre quand la souris et clavier sont inactifs ?
    Par Goldenkiller dans le forum Composants VCL
    Réponses: 7
    Dernier message: 06/12/2004, 22h09
  5. Fermer une fenêtre au bout d'un certain temps.
    Par cprogil dans le forum Composants VCL
    Réponses: 5
    Dernier message: 27/11/2003, 18h25

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