|
|
Office
Démarré par Anonymous à 12-20-2006 17:44. Le sujet a 15 réponse(s).
 
 
|
|
Sort Posts:
|
|
|
|
12-20-2006, 18:13
|
okavango
Rejoint : 06-23-2006
Messages : 408
|
Re : [C#]Problème pour étendre les plages d'un document Word
|
|
|
|
|
Salut !
Pour insérer du texte (donc même chose pour le déplacer ? ) on procède comme suit :
// C# string str = "Ici ton texte ... "; object start = 0; object end = 0; Word.Range rng = <tonDocument>.Range(ref start, ref end); rng.Text = str; rng.Select();
Il n'y a donc pas d'erreur dans ta ligne car comme le montre le code précédent, on met start et end à zéro pour insérer du texte.
Pour l'extension des plages, il manque juste ceci peut-être non ?
// C# object start = 0; object end = 7; Word.Range rng = <tonDocument>.Range(ref start, ref end);
object unit = Word.WdUnits.wdCharacter; object count = 7;
// déplace alors la position de début de sept caractères rng.MoveStart(ref unit, ref count); // déplace la position de fin de sept caractères rng.MoveEnd(ref unit, ref count);
Voila
J'espère t'avoir aider !
Okavango
|
|
|
|
Adresse IP : Connecté
|
Rapport
|
|
|
|
12-20-2006, 19:56
|
|
Anonymous
|
Re : [C#]Problème pour étendre les plages d'un document Word
|
|
|
|
|
Salut
j'ai essayé le meme code, mais j'ai toujours la meme erreur avec le message "Valeur en dehors des limites" voila mon code
// c# Word._Application aWord = new Word.Application(); object start = 0; object end = 7; object templateName = @"c:\Modele"; Word._Document FactureDoc = aWord.Documents.Add(ref templateName, ref Missing, ref Missing, ref Missing); Word.Range Para = FactureDoc.Range(ref start, ref end); // c'est ici l'erreur object unit = Microsoft.Office.Interop.Word.WdUnits.wdCharacter; object count = 7; Para.MoveStart(ref unit, ref count); Para.MoveEnd(ref unit, ref count); Para.Text = "test"; Para.Font.Bold = 1; Para.Font.Size = 12; Para.Font.NameAscii = "verdana"; Para.InsertParagraphAfter();
Merci pour ton aide
|
|
|
|
Adresse IP : Connecté
|
|
|
|
|
12-20-2006, 20:15
|
okavango
Rejoint : 06-23-2006
Messages : 408
|
Re : [C#]Problème pour étendre les plages d'un document Word
|
|
|
|
|
Est-ce que ton doc word contient plus de sept caractères ? ![Smile [:)]](/emoticons/emotion-1.gif)
Autrement l'erreur, selon moi, n'a pas lieu d'être dans ce cas là !
Okavango
|
|
|
|
Adresse IP : Connecté
|
Rapport
|
|
|
|
12-20-2006, 20:21
|
|
Anonymous
|
Re : [C#]Problème pour étendre les plages d'un document Word
|
|
|
|
|
Mon doc word est vide normalment puisque je le crée juste au-dessu.
|
|
|
|
Adresse IP : Connecté
|
|
|
|
|
12-20-2006, 20:24
|
okavango
Rejoint : 06-23-2006
Messages : 408
|
Re : [C#]Problème pour étendre les plages d'un document Word
|
|
|
|
|
Voilà pourquoi ça ne marche que si tu mets end=0
! ton doc est vide ! Essaies de le remplir (évidemment avec plus de 7
caract.) par codage en dur (ou manuellement) et normalement ça doit
marcher !!!
Okavango
|
|
|
|
Adresse IP : Connecté
|
Rapport
|
|
|
|
12-20-2006, 20:38
|
|
Anonymous
|
Re : [C#]Problème pour étendre les plages d'un document Word
|
|
|
|
|
ah ok, mais ya pas moyen de déplacer du text direct dés qu'on l'ajoute? j'ai tester se code
// C# object start = 0; object end = 0; object templateName = @"c:\Modele"; Word._Document FactureDoc = aWord.Documents.Add(ref Missing, ref Missing, ref Missing, ref Missing); Word.Range Para = FactureDoc.Range(ref start, ref end); Para.Text = "numero1"; Para.Font.Bold = 1; Para.Font.Size = 12; Para.Font.NameAscii = "verdana"; Para.InsertParagraphAfter(); start = 0; end = 7; Word.Range rng = FactureDoc.Range(ref start, ref end); rng.Text = "numero2"; rng.Font.Bold = 0; rng.Font.Size = 12; rng.Font.NameAscii = "verdana"; object unit = Microsoft.Office.Interop.Word.WdUnits.wdCharacter; object count = 7; rng.MoveStart(ref unit, ref count); rng.MoveEnd(ref unit, ref count);
j'ai que le 2eme text qui est affiché mais il est toujours au debut de la feuille, il c'est pas déplacer.
|
|
|
|
Adresse IP : Connecté
|
|
|
|
|
12-20-2006, 20:58
|
okavango
Rejoint : 06-23-2006
Messages : 408
|
Re : [C#]Problème pour étendre les plages d'un document Word
|
|
|
|
|
Essaies avec un texte très très long (env. 80 caract. par exemple) et
non avec un texte de sept caractères pour voir ce que ça donne !
Et peux tu me donner le résultat visuel que tu obtiens merci !
Okavango
|
|
|
|
Adresse IP : Connecté
|
Rapport
|
|
|
|
12-21-2006, 15:11
|
|
Anonymous
|
Re : [C#]Problème pour étendre les plages d'un document Word
|
|
|
|
|
Ce que je veux, c'est faire plusieur paragraphes, et les déplacer dés que je les déclare, pour a la fin avoir un doc qui ressemble a une facture. y a pas un autre moyen de les deplacer sans remplir le doc avant?
Merci pour ton aide
|
|
|
|
Adresse IP : Connecté
|
|
|
|
|
12-21-2006, 18:50
|
okavango
Rejoint : 06-23-2006
Messages : 408
|
Re : [C#]Problème pour étendre les plages d'un document Word
|
|
|
|
|
Salut !
Ca fait quoi si tu ne fais qu'un MoveEnd() seulement, car on relisant ton code, je constate que tu fais un MoveStart() puis un MoveEnd() de 7 caract. Ce qui reviens à "ne pas se déplacer du tout" puisque tu recules, ensuite, tu avances de sept caract. ? non ?
Essaie pour voir juste par curiosité ce que ça fait ! La solution n'est
peut-être pas là mais c'est juste une intuition, je ne sais si elle est
bonne ou pas ! Sinon, on cherche un autre moyen !
Okavango
|
|
|
|
Adresse IP : Connecté
|
Rapport
|
|
|
|
|
|
Page 1 sur 2 [16 au total]
|
1 2 » |
|
|
|
Labo-dotnet » Programmation .... » Office » [C#]Problème pour étendre les plages d'un document Word
|
|
|
|