patatasux
Messages postés18Date d'inscriptionlundi 11 janvier 2010StatutMembreDernière intervention21 mai 2010
-
20 avril 2010 à 15:30
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
21 avril 2010 à 18:47
Bonjours,
j'ai besoin pour mon stage de lire un fichier word, mais d'une manière pas très normale:
voici un extrait du word:
Contrat entre
ClinCli
et
MedFour
dans une autre vue (codes de champs), cela donne :
{DOCPROPERTY TYPE \* MERGEFORMAT}entre
{DOCPROPERTY PURCHASER \* MERGEFORMAT} et
...
bref ce fichier word inclue d'autre fichiers word.
Ce que je voudrai c'est lire les "{DOCPROPERTY TYPE \* MERGEFORMAT}" et non le texte qui est inclu.
voila ce que j'ai essayé, mais qui ne marche pas :/
Word.Application app = new Word.ApplicationClass();
app.Visible = true;
object nullobj = System.Reflection.Missing.Value;
object file = @"plopplopplopplopplop";
Word.Document doc = app.Documents.Open( ref file, ref nullobj, ref nullobj, ref nullobj,ref nullobj, ref nullobj, ref nullobj, ref nullobj,ref nullobj, ref nullobj, ref nullobj, ref nullobj,ref nullobj, ref nullobj, ref nullobj,ref nullobj);
doc.ActiveWindow.Selection.WholeStory();
doc.ActiveWindow.View.ShowFieldCodes = true; //je me met dans la vue pour voir les includes
doc.ActiveWindow.Selection.Copy();
string text = Clipboard.GetText();
richTextBox1.Text=text;
doc.Close(ref nullobj, ref nullobj, ref nullobj);
app.Quit(ref nullobj, ref nullobj, ref nullobj);
bien évidement, ce qui est affiché dans le richTextBox, c'est le texte inclu, non les balises.
Comme je ne sais pas si j'ai été très clair, je me résume :D
- je lis un fichier word dont le texte est inclu à partir d'autres fichiers word
- je voudrai obtenir les balises word comme: {DOCPROPERTY TYPE \* MERGEFORMAT}
- mais je n'obtient que du texte
Une petite observation: même à la main, lorsque je fais copier coller en vue code de champs, le texte copié est le texte inclu (pas les balises)
patatasux
Messages postés18Date d'inscriptionlundi 11 janvier 2010StatutMembreDernière intervention21 mai 2010 21 avril 2010 à 11:24
merci bien, je suis allé voir, et ca m'a dépanné, j'ai pas encore tout creusé, mais ca devrai aboutir.
Etant donné que je travail pr une entreprise, donner le code source final ne sera pas possible, en revanche, si qqn tombe la dessus et qu'il a le même pb, je px fournir mon petit programme de test qui affiche tout les includes dans un panel.
cette méthode permet d'obtenir tout les includes, malheureusement, cela ne se fait pas en parallèle avec le texte non inclu. (soit on a le texte, soit les include)
Je repasserai sans doute poster une suite qd cela aura avancé.