Lire une fichier .docx par un code c#

Signaler
Messages postés
16
Date d'inscription
lundi 5 juillet 2010
Statut
Membre
Dernière intervention
6 novembre 2012
-
Messages postés
16
Date d'inscription
lundi 5 juillet 2010
Statut
Membre
Dernière intervention
6 novembre 2012
-
je veut faire une application c# qui permet de lire tous type de fichier(.txt, .docx, .pdf) mais ça marche pas j'ai fait beaucoup d'essai mais rien.
est-ce qu'il ya une application pareil ??

10 réponses

Messages postés
15134
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 novembre 2020
462
Bonjour,

pour word j'ai posté une source qui permettait d'écrire, mais je ne l'ai pas testé sur un docx


Whismeril
Messages postés
16
Date d'inscription
lundi 5 juillet 2010
Statut
Membre
Dernière intervention
6 novembre 2012

bonjour
c'une application qui permet de lire non écrire.
j'ai trouver un code mais ça marche pas car il ya un erreur peut être manque d'importation :
vous pouver le consulter ici: http://www.programmerfish.com/quick-tutorial-how-to-read-microsoft-word-file-in-c/
l'erreur au niveau de step 4, ligne: Microsoft.Office.Interop.Word.ApplicationClass wordObject = new ApplicationClass();
l'erreur est dans ApplicationClass() (elle dépend d'un using ? )

Merci
Messages postés
15134
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 novembre 2020
462
ApplicationClass dépend du nom de domaine Microsoft.Office.Interop.Word.

Dans le tuto il utilise les noms complet donc normalement il n'y a pas besoin de using.

As tu bien référencé word comme il le montre?


Whismeril
Messages postés
15134
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 novembre 2020
462
Au fait ma source accede à word de la même manier, je n'y ai mis que de fonction d'écriture, mais avec les méthodes décrites dans le tuto tu devrais y arriver.


Whismeril
Messages postés
16
Date d'inscription
lundi 5 juillet 2010
Statut
Membre
Dernière intervention
6 novembre 2012

bonjour
oui j'ai bien référencé word comme il le montre.
cette source accède a .docx.
tu as fait une petite essai de ce code ?
Merci
Messages postés
15134
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 novembre 2020
462
Non, j'ai word 97


Whismeril
Messages postés
15134
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 novembre 2020
462
En ajoutant using Word;

ceci fonctionne chez moi avec Word 97

            Word.Application wordObject = new Word.Application();
            object file = @"C:\Documents and Settings\perso\Mes documents\Visual Studio 2010\Projects\test\test\bin\Debug\EssaieDeFichierWord.doc"; //this is the path
            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();
            IDataObject data = Clipboard.GetDataObject();
            textBox1.Text = data.GetData(DataFormats.Text).ToString();
            docs.Close(ref nullobject, ref nullobject, ref nullobject);



Whismeril
Messages postés
16
Date d'inscription
lundi 5 juillet 2010
Statut
Membre
Dernière intervention
6 novembre 2012

bonjour
oui ça marche et j'ai juste changer la ligne comme ça:
Microsoft.Office.Interop.Word.Application wordObject = new Microsoft.Office.Interop.Word.Application();
et le tous reste comme indique lel lien et ça marche avec word 2007
merci bien
Messages postés
16
Date d'inscription
lundi 5 juillet 2010
Statut
Membre
Dernière intervention
6 novembre 2012

et est ce qu'il ya une possibilité de garder les meme style(gras italiques )et les couleur de textes etc ..

Merci
Messages postés
16
Date d'inscription
lundi 5 juillet 2010
Statut
Membre
Dernière intervention
6 novembre 2012

Bonjour

Comment peut-on faire la lectures des différentes langue?
car il affiche "?????????????"
j'ai essayer d'utiliser System.Text.UnicodeEncoding mais c marche pas ?

Merci