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 :

Merge doc word (2007) en gardant la mise en forme


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut Merge doc word (2007) en gardant la mise en forme
    Bonjour,

    Je cherche a merger plusieurs document Word, pour cela j'ai une methode qui reçoit parse chaque élément d'un tableau qui contient une url, ouvre cette url qui est le chemin d'un doc word et l'ajoute au document principal.

    Sauf que, le merge fonctionne, mais je ne conserve pas la mise en forme du document word que j'ouvre pour merger avec l'autre.

    Savez vous comment je peux faire ?

    Voici le code (n'hésitez pas a critiquer le code tout conseil est bon a prendre ):

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     public void ReadFileWord()
            {
                string DocumentWordAll = "";
     
                for (int i = 0; i < CS.url.Count; i++)
                {
                    object filePath = CS.url[i];
                    object PathRapport = "C:\\Documents and Settings\\lmarboutie\\Bureau\\Rapport MOS TT V2VDF.doc";
     
                    object typeMissing = Type.Missing;
     
     
                    Word._Application applicationRapport = new Word.ApplicationClass();
                    Word.Documents documentsRapport = applicationRapport.Documents;
                    Word._Document documentRapport = documentsRapport.Open(ref PathRapport, ref typeMissing, ref typeMissing, ref typeMissing,
                                                        ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing,
                                                        ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing,
                                                        ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing);
                    Word._Application application = new Word.ApplicationClass();
                    Word.Documents documents = application.Documents;
                    Word._Document document = documents.Open(ref filePath, ref typeMissing, ref typeMissing, ref typeMissing,
                                                        ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing,
                                                        ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing,
                                                        ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing);
     
     
     
     
     
                    foreach (Word.Paragraph par in document.Content.Paragraphs)
                    {
                        //MessageBox.Show(par.Range.Text);
                        documentRapport.Paragraphs.Last.Range.InsertParagraphAfter(); // ajouter un para a la fin
                        Word.Paragraph paragraph = documentRapport.Paragraphs[documentRapport.Paragraphs.Count - 1];
                        paragraph.Range.Text = par.Range.Text;
                        //DocumentWordAll = DocumentWordAll + par.Range.Text;
                    }
     
     
     
                    document.Close(ref typeMissing, ref typeMissing, ref typeMissing);
                    application.Quit(ref typeMissing, ref typeMissing, ref typeMissing);
     
                    MessageBox.Show("Merge Finish");
                    documentRapport.Save();
                    documentRapport.Close(ref typeMissing, ref typeMissing, ref typeMissing);
                    applicationRapport.Quit(ref typeMissing, ref typeMissing, ref typeMissing);
                }
            }
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

  2. #2
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut
    Salut,

    Tu peux essayer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                        par.Range.Select();
                        par.Range.Copy();
                        paragraph.Range.Paste();
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    paragraph.Range.Text = par.Range.Text;
    Et puis le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Word.Paragraph paragraph = documentRapport.Paragraphs[documentRapport.Paragraphs.Count - 1];
    C'est pas propre je trouve met le en dehors de la boucle c'est mieux.




    ....

    Ha merci beaucoup ça marche maintenant

    Bonne journée
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Doc Word 2007 plante Word 2010
    Par pegase.90 dans le forum Word
    Réponses: 1
    Dernier message: 01/02/2013, 20h00
  2. Réponses: 0
    Dernier message: 07/09/2010, 13h14
  3. merge-format word 2007
    Par Domino40 dans le forum VBA Word
    Réponses: 1
    Dernier message: 06/02/2010, 21h02
  4. [WD-2007] Envoyer le corps d'un doc par mail en gardant la mise en forme
    Par abillon dans le forum VBA Word
    Réponses: 7
    Dernier message: 13/11/2009, 10h00
  5. Raccourcis de fichiers dans un .doc (word 2007)
    Par philm12 dans le forum Word
    Réponses: 1
    Dernier message: 07/10/2009, 08h09

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