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 :

Comment lire un fichier .doc en c#


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2018
    Messages : 45
    Points : 73
    Points
    73
    Par défaut Comment lire un fichier .doc en c#
    Bonjour à tous !

    je cherche à manipuler des documents words afin de faire des recherches par keyword dedans mais je n'arrive pas à recupéré mon text en type 'string'. J'utilise Visual Studio.

    J'ai ajouté la librairie 'MS word 16 object library' et la doc que propose microsoft est vraiment inbaisable !

    J'ai écris un petit bout de code en m'aidant des exemples que j'ai pus trouvé sur le net mais ça n'affiche rien dans la console et j'ai vraiment du mal à comprendre comment utilisé cette librairie ! J'essaye de copier dans le presse papier puis de le convertir en string avec mais ça marche pas et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Clipboard.containsData(Dataformats.StringFormat)
    me retroune false...
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    using System;
    using System.Windows.Forms;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    //using System.Runtime.InteropServices.ComTypes;
    using System.Text;
    using System.Threading.Tasks;
    using Microsoft.CSharp;
    using Microsoft.Office.Core;
    using Microsoft.Office.Interop.Word;
    using Word = Microsoft.Office.Interop.Word;
    using static System.Windows.Forms.VisualStyles.VisualStyleElement;
     
    namespace Test_Word
    {
        class Program
        {
            static void Main(string[] args)
            {
     
                Word.Application wordObject = new Word.Application();
                object file = "C:/Users/****/Desktop/Test.doc";
                object nullobject = System.Reflection.Missing.Value;
     
                object Faux = (object)false;
                object Vrai = (object)true;
                Document docs = wordObject.Documents.Add(ref file, ref Faux, ref nullobject, ref Vrai);
                docs.ActiveWindow.Selection.WholeStory();
                docs.ActiveWindow.Selection.Copy(); // copy dans le presse papier
     
     
     
     
                Console.WriteLine(Clipboard.GetText());
                docs.Close(ref nullobject, ref nullobject, ref nullobject);
     
     
                Console.Read();
     
            }
        }
    }
    Y aurait-il quelqu'un sait s'en servir ou qui sait, du moins, comment recuperer le text et le transformer dans une forme conventionnelle que je puisse faire ma recherche ?

    P-t cette librairie est super puissante pour manipuler les textes provenant des .doc mais je suis pommé et y a rien qui m'aide sur le web

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    Salut,

    pourquoi passer par le clipboard ?

    Ne peux tu pas directement passer par Selection.Text ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Je ne connais pas assez C# pour te donner LA réponse, mais deux choses que tu essayer:

    1) Tu prends l'enregistreur de macros de Word et tu enregistres une macro d'une recherche. Tu vas avoir un code VBA, mais tout ce dont tu as besoin, ce sont les noms d'objets de Word et leurs paramètres, que tu dois combiner avec tes objets .net. Attention, l'enregistreur de macros de Word ne supporte la souris que pour les actions portant sur le ruban et l'interface de Word. Toutes les actions sur le texte (sélection, déplacement etc.) sont faites à partir du clavier.


    2) Pour un usage occasionnel, tu peux enregistrer ton document Word (si tu as Word, pour OpenOffice, je ne sais pas) au format RTF et l'ouvrir dans un RichTextBox pour faire tes recherches.


    Pour des textes au format docx, docm (Word 2007 et après) il y a d'autres solutions. Des gratuites et des commerciales. Mais si ce sont vraiment des documents au format doc (word 2003 et avant), les choix sont plus limités. Mais si tu as un Word récent, tu peux ouvrir un .doc et l'enregistrer en docx ou docm.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2018
    Messages : 45
    Points : 73
    Points
    73
    Par défaut
    Bonjour à tous !

    Je vous remercie infiniment pour vos réponses !

    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
               string text = docs.ActiveWindow.Selection.Text;
    mais quand j'affiche 'text' dans la console il écrase les lignes, c-a-d dans le fichier word j'ai écris
    Salit Salut
    .doc
    et dans la console il m'affiche
    .doct Salut
    Je sais pas trop ce qu'il se passe

    Du coup j'ai poursuivie à passer par le presse papier, il faut rajouter l'attribut [STAThread] devant le main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            [STAThread]
    static void Main(string[] args)
    et ça fonctionne avec toute les extensions, .doc, .docx, .docm et .rtf ! Voila le code complet :
    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
    29
    30
     Word.Application wordObject = new Word.Application();
                object file = "C:/Users/public/Desktop/Test.rtf"; 
                object nullobject = System.Reflection.Missing.Value;
     
                object Faux = (object)false;
                object Vrai = (object)true;
                Document doc = new Document();
     
                 Document docs = wordObject.Documents.Add(ref file, ref Faux, ref nullobject, ref Vrai);
                docs.ActiveWindow.Selection.WholeStory();
                docs.ActiveWindow.Selection.Copy();
     
               //string text = docs.ActiveWindow.Selection.Text;
     
                 IDataObject data = Clipboard.GetDataObject();
     
                //if (Clipboard.ContainsData(DataFormats.StringFormat))
                  //Console.WriteLine("oui il y a des données sous format string ou convertible en string dans le presse papier");
               //else
                  //Console.WriteLine("nan il n'y a rien dans le presse papier");
     
                 string text =  data.GetData(DataFormats.StringFormat).ToString();
     
                Console.WriteLine(text.Count());
                Console.WriteLine(text);
     
                docs.Close(ref nullobject, ref nullobject, ref nullobject);
                Console.WriteLine("Fin");
     
                Console.Read();
    Je dois faire une recherche de mot clés dans le texte, je suppose qu'il y a mieux à faire que de passer en string pis de faire la recherche dans le string mais j'ai un peu du mal à trouvé les fonctions de la librairie MS Word pour faire la recherche. Vous savez où je peux trouvé une documentation correcte ? Parce que celle fournit par docs.microsoft.com c'est une lecture fonction par fonction...

    Ou si vous avez toutes autres solutions en tête (pour faire une recherche de mot clé dans un word), je suis preneur !

    Un grand merci à vous pour m'avoir répondu, c'est chouette de toujours trouver du soutien sur ce site, mon job ne tient qu'à ça

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2018
    Messages : 45
    Points : 73
    Points
    73
    Par défaut
    Rebonjour !

    J'ai un soucie avec des lettres un peu compliqué (pas simplement du texte mais de la mise en page et tout le tintouin). Il me met l'erreur
    Impossible d'ouvrir les macros de stockage
    sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                 Document docs = wordObject.Documents.Add(ref file, ref Faux, ref nullobject, ref Vrai);
    Une idée de ce qui se passe ?

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Documents.Add sert à créer un nouveau document Word

    Documents.Open sert à ouvrir un document Word existant


    En principe, les recherches de texte dans un document Word se font avec la méthode find


    Si tu veux continuer par le presse-papiers, même si ce n'est pas l'idéal, tu devrais pouvoir vérifier le type de données dans le presse-papier. (Du moins c'est possible en VB.) Il me semble qu'un texte Word est converti en RTF quand il est copié dans le presse-papiers. Donc, si le presse-papier contient du texte en RTF, tu peux le coller dans un RichTextBox. Ensuite, la propriété text du RichTextBox, te permet d'utiliser la classe String pour chercher dans ton texte.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2018
    Messages : 45
    Points : 73
    Points
    73
    Par défaut
    Bonjour à tous !

    Un grand merci pour votre aide, je commence à maitrisé un peu mieux la librairie !

    Est-ce que vous savez comment faire pour lire seulement un portion du texte ?
    Par exemple si le texte est organiser par bloc, comment faire pour ne lire que le bloc en haut à droite ou en bas à gauche ? Est-ce possible ?J'ai dus mal à trouver dans la doc

  8. #8
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    Salut,

    "en haut à droite" et "en bas à gauche", à part dans un tableau, ca n'a aucun sens dans Word

    Si tu veux lire paragraphe par paragraphe, tu peux, si tu veux lire les signets tu peux,...

    A question ouvert, réponse foireuse/ A question précise, réponse précise
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  9. #9
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par Jojo 51 Voir le message
    Bonjour à tous !
    Est-ce que vous savez comment faire pour lire seulement un portion du texte ?
    Cela, ça se fait avec l'objet Range ou l'objet Selection. Certains ne jurent que par l'objet Range, mais personnellement, je préfère l'objet Selection. Parce que l'on peut voir le texte sélectionné.


    Mais, je te l'ai dit. Enregistre une macro dans Word. Ce n'est pas la mer à boire que d'adapter le code VBA en C aiguisé. Peu importe le langage de programmation, les objets Word ne changent pas.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2015
    Messages : 10
    Points : 28
    Points
    28
    Par défaut Objet word
    Bonjour,

    J'utilise de temps en temps word de cette façon (en VBA, VB.net ou C#) en fait il faut comprendre la logique des gens de Microsoft (et si j'ai bien compris) :

    - en simplifiant , un texte word pour eux est une suite de caractères (c'est typique d'une approche en C char() ) (c'est la collection de base d'un document), rien de plus (tu peux ainsi accéder à tous les caractères d'un document via son index)

    - mais pour pouvoir y travailler ils ont regroupés en section,paragraphe, mot, phrase, selection, zone qui ne sont jamais que des objets 'collections d'index (début/fin)' pointant sur la collection de base.


    en fonction du niveau de détail auquel tu veux accéder tu utilise tel ou tel objet 'index'.

    mais comme le dit clement, je n'y avais pas pensé, le plus simple est de faire sous word ce que tu veux faire en enregistrant la macro et de voir les objects, que le code ainsi généré, utilise.

    A part quelque artefact de language, tu doit pouvoir transposer sans problème du VBA en C# (ou plus simple en VB.net , VS acceptant des projets multilanguage).


    Bon courage.

  11. #11
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par Jojo 51 Voir le message
    Bonjour à tous !

    je commence à maitrisé un peu mieux la librairie !
    C'est Word au complet, ou presque, que tu utilises.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  12. #12
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par p.a.t.c.h Voir le message
    Bonjour,



    mais comme le dit clement, je n'y avais pas pensé, le plus simple est de faire sous word ce que tu veux faire en enregistrant la macro et de voir les objects, que le code ainsi généré, utilise.


    Bon courage.
    Et c'est la même chose, et plus facile avec Excel. Parce que le support de la souris est plus élaboré dans l'enregistreur de macros d'Excel. Avec celui de Word, il faut utiliser le clavier pour modifier le texte.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  13. #13
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2018
    Messages : 45
    Points : 73
    Points
    73
    Par défaut
    Bonjour à tous !

    Je me permet de reouvrir se topic parce que le code proposer ici à un bug que je parviens pas à résoudre

    Quand je l’exécute, il y a pas de problème. Par contre, quand j'éteins et que je redémarre l'ordi. Au démarrage, l'ordi ouvre autant d'instance de nouveau document word(avec le logiciel word) que j'ai lancé l'appli précédemment...

    J'imagine que je dois faire une mauvaise manip quelque part mais impossible de mettre la main dessus ! Je remet le code dans sa forme actuelle :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    using System;
    using System.Windows.Forms;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    //using System.Runtime.InteropServices.ComTypes;
    using System.Text;
    using System.Threading.Tasks;
    using Microsoft.CSharp;
    using Microsoft.Office.Core;
    using Microsoft.Office.Interop.Word;
    using Word = Microsoft.Office.Interop.Word;
    using static System.Windows.Forms.VisualStyles.VisualStyleElement;
     
    namespace Test_Word
    {
        class Program
        {
            [STAThread]
     
            static void Main(string[] args)
            {
                Word.Application wordObject = new Word.Application();
                object file = "C:/Users/Fernandez/Desktop/test2.docx"; 
                object nullobject = System.Reflection.Missing.Value;
                File.SetAttributes(file.ToString(), FileAttributes.Normal);
     
                object Faux = (object)false;
                object Vrai = (object)true;
                //Document doc = new Document();
     
                Document docs = wordObject.Documents.Add(ref file, ref Faux, ref nullobject, ref Vrai);
                docs.ActiveWindow.Selection.WholeStory();
                docs.ActiveWindow.Selection.Copy();
     
               //string text = docs.ActiveWindow.Selection.Text;
     
                //docs.ActiveWindow.Selection.InsertAfter("inséré depuis VS");
                //docs.Save();
     
                 IDataObject data = Clipboard.GetDataObject();
                string text =  data.GetData(DataFormats.StringFormat).ToString();
     
                //if (Clipboard.ContainsData(DataFormats.StringFormat))
                //Console.Write("oui");
                //else
                //Console.Write("nan");
                // string text = Clipboard.GetText();
                Console.WriteLine("Lecture de " + file.ToString());
                //Console.WriteLine(text.Count());
                Console.WriteLine("");
                Console.WriteLine("Texte récupéré :");
                Console.WriteLine("");
                Console.WriteLine("");
                Console.WriteLine(text);
                Console.WriteLine("");
                Console.WriteLine("");
     
                docs.Close(ref nullobject, ref nullobject, ref nullobject);
                string searchdate = "date : ";
     
                Console.WriteLine("Recherche de date par KeyWord : '"+searchdate+"'");
     
                int i = 0;
                bool trouvé = false;
                string Date = "";
                int LongeurDate = 10;
                string KeyWords = "panne de type 1";
     
                foreach (char a in text)
                {
     
                    if (i == searchdate.Length)
                    {
                        trouvé = true;
     
                    }
     
                    if (!trouvé && a == searchdate[i])
                    {
                        i++;
                        Console.Write(a);
                    }
                    else
                        i = 0;
     
                    if (trouvé && Date.Length<=LongeurDate)
                    {
                        Date += a;                  
     
                    }
                }
                Console.WriteLine("");
                Console.WriteLine(" Date trouvé :" + Date);
                Console.WriteLine("");
                Console.WriteLine("Recherche du KeyWord : '"+KeyWords+"'");
     
     
                if (text.Contains(KeyWords))
                    Console.WriteLine("Trouvé : '" + KeyWords+"'");
                else
                    Console.WriteLine("'"+KeyWords +"' non trouvé");
     
                Console.WriteLine("");
                Console.WriteLine("Fin");
     
                Console.Read();
     
            }
        }
    }
    Vous sauriez à quelle endroit je produis ce bug, qui est ultra génant parce que si on lance l'appli 10 fois, ça fait un sacré bordel au prochain démarrage

    Merci d'avance !!

  14. #14
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 304
    Points : 405
    Points
    405
    Par défaut
    il faudra j'imagine seulement libérer l'objet Word.Application wordObject
    Regarde du coté de la méthode Quit
    S'il n'y a pas de Solution, c'est qu'il n'y a pas de Problème.
    ----------------------------------------------------------------------------------------
    Pour se protéger, un bon préservatif pour votre PC : AntiVir et SpyBot - Search & Destroy

  15. #15
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2018
    Messages : 45
    Points : 73
    Points
    73
    Par défaut
    Yes !!

    Excellent merci ^^


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wordObject.quit() // à rajouter à la fin

  16. #16
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2018
    Messages : 45
    Points : 73
    Points
    73
    Par défaut
    Par contre j'ai toujours un problème à lire le texte sans passer par le presse-papier :s

    J'utilise la methode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                docs.ActiveWindow.Selection.SetRange(0, 4500);
                          string text = docs.ActiveWindow.Selection.Text.ToString();
    Mais sa rend un texte a moitié écraser par endroit. Par exemple, dans le fichier words c'est écrit :

    ..., à partir de l’onglet Accueil, dans le groupe Styles.] date : 2008-10-25 [Vous vous demandez quel...
    Et la console me rend :

    ..., à partir de l'onglet Accue[Vous vous demandez quel...
    j'ai du mal à comprendre ce qui se passe là :/

Discussions similaires

  1. Comment lire un fichier doc sous Linux
    Par Pauli dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 09/01/2007, 14h22
  2. [Word] Comment lire un fichier .doc en php?
    Par jcmouniapin dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 05/04/2006, 04h50
  3. [BCB 5]Comment lire un fichier AVI avec un TAnimate ?
    Par Sitting Bull dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/09/2004, 11h57
  4. Comment lire un fichier DB en cours d'utilisation par 1 autr
    Par jbat dans le forum Bases de données
    Réponses: 4
    Dernier message: 12/03/2004, 11h06
  5. Comment lire un fichier image
    Par Charlemagne dans le forum DirectX
    Réponses: 9
    Dernier message: 12/03/2004, 00h22

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