IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Word problème 250 caractères


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 81
    Par défaut Word problème 250 caractères
    Bonjour,
    Je suis en train de développer un projet avec une automatisation de word.
    Je programme en c# et avec l’utilisation de Microsoft.Office.Interop.Word.

    mon problème est lorsque ma chaine de caractère dépasse les 255, il met en erreur :
    Chaîne de caractères trop longue.
    Avez-vous une idée pour contourner ce problème ?

    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Par défaut
    Bonjour,
    après quelques rapides tests je n'arrive pas à reproduire ton erreur à croire qu'il n'y a pas de limite chez moi.

    Peux-tu poster un bout de code ?

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 81
    Par défaut
    Voici
    je récupere mes données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
     // on parcourt l'ensemble des experiences professionnelles
                        foreach (toto tiiti in p.t)
                        {
                            riri = riri+ mesdonnes;
                        }
     
    // on ajoute a mon word
    field = "rrr";
     Nv.FormFields.get_Item(ref field).Result = riri ;
    Quand j'ai riri >255 alors j'ai un message d'erreur.
    Merci

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Par défaut
    Là tu changes le nom de ton champ .Result = "xxx" je pense qu'il n'aime pas trop quand on lui donne un nom trop long ^^

    Sinon utilise ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    private void AddFormatedTextAfter(Range range, string value, WdColor text_color = WdColor.wdColorBlack, int size = 11, int bold = 0, int italic = 0, int alignment = 0)
            {
                object save_pos = range.End - 1;
                range.InsertAfter(value);
                object current_pos = range.End - 1;
                nvDoc.Range(save_pos, current_pos).Font.Color = text_color;
                nvDoc.Range(save_pos, current_pos).Font.Size = size;
                nvDoc.Range(save_pos, current_pos).Font.Bold = bold;
                nvDoc.Range(save_pos, current_pos).Font.Italic = italic;
     
                nvDoc.Range(save_pos, current_pos).ParagraphFormat.SpaceAfter = 1;
                switch (alignment)
                {
                    case 0:
                        nvDoc.Range(save_pos, current_pos).ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;
                        break;
                    case 1:
                        nvDoc.Range(save_pos, current_pos).ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                        break;
                    case 2:
                        nvDoc.Range(save_pos, current_pos).ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphRight;
                        break;
                    case 3:
                        nvDoc.Range(save_pos, current_pos).ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphJustify;
                        break;
                }
            }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    string riri = "01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789";
    Nv.FormFields.get_Item(ref field).Result.Text = "";
    AddFormatedTextAfter(Nv.FormFields.get_Item(ref field).Result, riri);
    Là tu utilises les fonctions d'écritures de Word et pas du "renommage" de champs.
    Entre parenthèses chez moi : Nv.FormFields.get_Item(ref field).Result ne compile pas.

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Par défaut
    Question... c'est quoi la version de ton interop ? 11.0.0.0 ? avec word 2003
    J'ai la 12.0.0.0 voila pourquoi ton code ne compile pas chez moi...

    Donc essayes de placer mon code sinon j'ai pas cette version je ne peux pas trop t'aider.
    Mais ça me semble tout de même bizarre de modifier la propriété .Result de ton field pour lui faire afficher le texte. Essayes plutôt un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nv.FormFields.get_Item(ref field).Result.InsertAfter("du texte");
    en espérant que ça compile.

  6. #6
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 81
    Par défaut
    Merci pour toutes tes réponses.
    J’utilise la version 12. Cependant je prend un fichier .dot comme template.
    Je me demande si la limitation de caractère ne viendrai pas de la.
    Je pense que ta version crée un fichier sans un template.

Discussions similaires

  1. Problème de caractère ?
    Par Leishmaniose dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 07/11/2006, 18h29
  2. problème de caractères clavier!!!
    Par brunetc dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 10/06/2005, 14h39
  3. [SQL Server] problème de caractères spéciaux
    Par mbibim63 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 02/06/2005, 19h38
  4. [MiniPascal] Problème de caractères accentués
    Par Clandestino dans le forum Autres IDE
    Réponses: 3
    Dernier message: 03/10/2004, 14h12
  5. [Word] Problème de version Word
    Par delphicrous dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 17/09/2004, 12h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo