Mettre du Text dans les signets

Résolu
Signaler
Messages postés
33
Date d'inscription
samedi 15 octobre 2005
Statut
Membre
Dernière intervention
4 janvier 2012
-
Messages postés
2
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
28 juillet 2008
-
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

Messages postés
33
Date d'inscription
samedi 15 octobre 2005
Statut
Membre
Dernière intervention
4 janvier 2012

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";
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
euh... tu veux créer un signet Word ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Messages postés
33
Date d'inscription
samedi 15 octobre 2005
Statut
Membre
Dernière intervention
4 janvier 2012

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
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
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
*/
Messages postés
33
Date d'inscription
samedi 15 octobre 2005
Statut
Membre
Dernière intervention
4 janvier 2012

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.

 
Messages postés
2
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
28 juillet 2008

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.
Messages postés
2
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
28 juillet 2008

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);