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)...
Exemple de remplissage de bookmark
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
J'espère être assez complet, si jamais y a besoin d'autres infos, hésitez pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); }
C'est sûrement un truc con mais ça commence vraiment à me gonfler
Partager