Mettre du Text dans les signets

Résolu
kowalska Messages postés 33 Date d'inscription samedi 15 octobre 2005 Statut Membre Dernière intervention 4 janvier 2012 - 10 avril 2008 à 08:46
yesdream Messages postés 2 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 28 juillet 2008 - 28 juil. 2008 à 16:25
Bonjour,

Depuis hier j'ai un soucis pour ecrire dans mes signé.
J'ai essayé pas mal de script pour le faire me je bloque ca ne marche pas.

Je ne suis pas en winForm mais en internet (aspx).

Voici le code



// Incr?mentation des variables

string commercial = "Saint-martin guillaume";

string fileLocalOriginal = pathLocal + nameFichier;

string fileLocalTemps = pathLocal + "Temp_" + nameFichier;

// connexion ? Word

Microsoft.Office.Interop.Word.Application msWord = new Microsoft.Office.Interop.Word.Application();

msWord.Visible = true; // mettez cette variable ? true si vous souhaitez visualiser les op?rations.

object missing = System.Reflection.Missing.Value;

Microsoft.Office.Interop.Word.Document nvDoc ;

// Choisir le template

object templateName = fileLocalOriginal;

// Cr?er le document

nvDoc = msWord.Documents.Add(ref templateName, ref missing, ref missing, ref missing) ;


object signet "nameCommercial";
>C'est ici que j'aimerai implémenté mes signets <==

// Sauver le document

object fileName = fileLocalTemps;

nvDoc.SaveAs(ref fileName, ref missing, ref missing, ref missing, ref missing,

ref missing, ref missing, ref missing, ref missing, ref missing,

ref missing, ref missing, ref missing, ref missing, ref missing,

ref missing);

// Fermer le document

nvDoc.Close(ref missing, ref missing, ref missing);

return fileLocalTemps;


Voila j'espere avoir des news.
Merci

7 réponses

kowalska Messages postés 33 Date d'inscription samedi 15 octobre 2005 Statut Membre Dernière intervention 4 janvier 2012
28 juil. 2008 à 09:33
Salut j'espere que je vais repondre à ton probleme.

Voici comment j'ai trouvé la solution

object signet = "Nom de ton signet dans word";
bookMkRef = nsDoc.Bookmarks.get_Item(ref signet);
bookMkRef.Range.Text = "Ta valeur";
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 38
10 avril 2008 à 09:58
euh... tu veux créer un signet Word ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
kowalska Messages postés 33 Date d'inscription samedi 15 octobre 2005 Statut Membre Dernière intervention 4 janvier 2012
10 avril 2008 à 14:20
Non mon signet est deja crée avec word.
Moi ce que je veux c'est dire dans mon code c# d'aller mettre ma chaine de caractere  dans le signé de word.

De plus je suis pas en winform. Je pense que c'est pour ca que je rencontre des soucis.

si tu as une idées je suis prenneur
0
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 100
12 avril 2008 à 20:41
Salut,

C'est sur que l'automation Office dans un contexte côté serveur est relativement...suicidaire :
Considérations sur l'automatisation côté serveur de Microsoft Office

Peut être regarder du côté des dernières version de VSTO, me semble que quelquechose concernant les aspects server-side y a évoluer.
Après la manipulation directe de documents au format OpenXML est peut être une bonne piste.

/*
coq
MVP Visual C#
CoqBlog
*/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kowalska Messages postés 33 Date d'inscription samedi 15 octobre 2005 Statut Membre Dernière intervention 4 janvier 2012
15 avril 2008 à 17:14
Merci pour l'info coq,

j'ai trouvé en faite comment faire du moin partiellement.
J'arrive a crée des signets et leurs donné une valeur dans le fichier word via c#. C'est deja un bn debut.
Maintenant ce serait d'incrementé un signet deja existant dans word via le code.
rien de bien compliqué je pense. je suis passé a autre chose pour le moment.
Je vous tiendrai au courant car ca peu intérrésé quelque personne.

 
0
yesdream Messages postés 2 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 28 juillet 2008
25 juil. 2008 à 16:07
salut,
j'ai le meme probleme, je voudrais ecrire dans les signet que j'ai créer dans un fichier word à partir d'une application C#.
svp est ce que vous pouvez m'aidez.
0
yesdream Messages postés 2 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 28 juillet 2008
28 juil. 2008 à 16:25
merci beaucoup kowalska pour ton aide j'ai fais à peu prés la meme chose mais avec des index puisque j'ai plusieurs signets,



Hashtable
Bks=

new



Hashtable
();




//Récupère tous les Bookmarks du document dans une HashTable








//Dans les applications office, les index vont de 1 … n compris






for
(

int
i=1;i<=nvDoc.Bookmarks.Count;i++){


object
index=i;Word.


Bookmark
bk=nvDoc.Bookmarks.Item(

ref
index);Bks.Add(bk.Name,bk.Range);

}

((Word.


Range
)Bks[

"nom"
]).InsertBefore(Tnom.Text);((Word.


Range
)Bks[

"prenom"
]).InsertBefore(Tprenom.Text);
0