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

C# Discussion :

Fermer word après aperçu


Sujet :

C#

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 256
    Points : 70
    Points
    70
    Par défaut Fermer word après aperçu
    Bonjour,

    J'utilise la reference Microsoft.Office.Interop.Word de Word afin de pouvoir faire un aperçu d'un fichier .doc.

    Voici mon code :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
     
                object fileName = @"C:\test.doc";
                object confirmConversions = Type.Missing;
                object readOnly = true;
                object addToRecentFiles = Type.Missing;
                object passwordDoc = Type.Missing;
                object passwordTemplate = Type.Missing;
                object revert = Type.Missing;
                object writepwdoc = Type.Missing;
                object writepwTemplate = Type.Missing;
                object format = Type.Missing;
                object encoding = Type.Missing;
                object visible = Type.Missing;
                object openRepair = Type.Missing;
                object docDirection = Type.Missing;
                object notEncoding = Type.Missing;
                object xmlTransform = Type.Missing;
                object o = Type.Missing;
                object noSave = false;
     
                Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open2000(
                       ref fileName, ref confirmConversions, ref readOnly, ref addToRecentFiles,
                       ref passwordDoc, ref passwordTemplate, ref revert, ref writepwdoc,
                       ref writepwTemplate, ref format, ref encoding, ref visible);
     
    wordApp.Visible = true;
    doc.PrintPreview();
    Mon aperçu fonctionne bien ,mais je voudrais que lorque l'utilisateur quitte l'aperçu de word, cela ferme le fichier word, or ce n'est pas le cas pour le moment, lorsqu'on quitte l'aperçu, le document word reste ouvert en lecture seule.

    Existe t il un evenement pour savoir quand l'utilisateur ferme l'aperçu ou une fonction ?

    Merci

  2. #2
    Membre actif
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Points : 233
    Points
    233
    Par défaut
    Regarde dans Microsoft.Office.Interop.Word.Application à l'aide de l'explorateur d'objets y aura surement une méthode Quit, Exit ou autre.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    Si ca peut t'aider sous Excel on fait visiblement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
    //Do some stuff here...
    excel.Quit();
    while (Marshal.ReleaseComObject(excel) != 0) { }
    excel = null;
    GC.Collect();
    GC.WaitForPendingFinalizers();

    source:
    http://blogs.interakting.co.uk/brad/...10/29/109.aspx

  4. #4
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Il ne s'agit pas de fermer Word, il s'agit de détecter la fermeture de l'aperçu avant impression.

    L'idéal aurait été de s'abonner à l'évènement de fermeture de l'aperçu.
    Malheureusement, j'ai exploré les objets de la bibliothèque Interop.Word sans trouver un tel évènement.

    Tout ce que j'ai trouvé, c'est la propriété PrintPreview sur l'objet Application qui est à True, lorsque l'aperçu est ouvert, et à False, lorsqu'il est fermé.

    Donc, tu pourrais faire une boucle infinie qui scrute cette variable après ouverture de l'aperçu (toute les 100 milisecondes, par exemple) jusqu'à ce que la valeur soit à False.

    Ensuite, tu continues ton script comme tu veux.

Discussions similaires

  1. Après aperçu avant impression ..
    Par gontierja dans le forum WinDev
    Réponses: 1
    Dernier message: 20/06/2007, 15h33
  2. probleme ajout tableau word(après lecture faq)
    Par dederfred dans le forum Delphi
    Réponses: 2
    Dernier message: 29/11/2006, 14h38
  3. Fermer Word proprement depuis excel
    Par Australia dans le forum VBA Word
    Réponses: 5
    Dernier message: 21/11/2006, 09h37
  4. Fermer Excel après ouverture OLE
    Par birdyz dans le forum Delphi
    Réponses: 6
    Dernier message: 07/09/2006, 13h35
  5. [VBA-E]exécution lente de la macro après aperçu
    Par cwain dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/03/2006, 17h49

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