Ecriture dans bookmarks Word en C#
Bonjour,
Étant bloqué sur ce problème depuis un bon moment, je me décide à venir demander un peu d'aide, si possible :d
J'ai cherché un peu partout mais je trouve rarement d'infos sur ce sujet, si jamais il y a déjà eu le même genre de question, je m'en excuse par avance !
Pour résumer le projet, je récupère des données dans un fichier Excel et je remplis les bookmarks d'un modèle Word grâce à ces données.
Après avoir suivi le tuto de génération de document Word en C#, le travail est quasiment fini, mais j'ai juste un problème au niveau du remplissage des bookmarks avec du texte formaté (partie 6 du tuto).
Mon programme écrit bien ce qu'il faut où il faut, mais il rajoute une quinzaine d'espace devant la chaîne que je met dans un bookmark, ce qui est assez embêtant...
Je sais pas si ça vient du fait d'envoyer une chaîne en rtf (comme dans le tuto) ou si c'est au moment du paste, ou si j'utilise pas le bon élément dans Word (formulaire zone d'édition)...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| static string check_and_fill(string tocheck)
{
string ret = "no";
if (String.Compare(tocheck, " ") != 0)
{
ret = @"{\rtf1\ansi\deff1
{\fonttbl
{\f0 Times New Roman;}
{\f1 Arial;} }
\fs22 " + tocheck + "}";
}
return (ret);
} |
Exemple de remplissage de bookmark
Code:
1 2 3 4 5 6 7 8
| string contenu = check_and_fill(_data.titre_rl);
if (String.Compare(contenu, "no") != 0)
{
DataObject clipData = new DataObject(DataFormats.Rtf, contenu);
Clipboard.SetDataObject(clipData, false);
field = "TitreRL";
nvDoc.Bookmarks.get_Item(ref field).Range.Paste();
} |
J'espère être assez complet, si jamais y a besoin d'autres infos, hésitez pas.
C'est sûrement un truc con mais ça commence vraiment à me gonfler :D