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 :

Modifier Document Word


Sujet :

C#

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 47
    Par défaut Modifier Document Word
    Bonjour,

    Je souhaite modifier un document word préformater (c'est à dir remplacer des variable prédéfinit dans le document de base).

    J'ai suivi le tuto suivant :

    http://badger.developpez.com/tutorie...-word-openxml/

    J'arrive avec ce morceaux de code, à ouvrir, lire mon document et le modifier grace à la variable InnerText, mais a pas à l'enregistrer correctement lorsque jessaie d'ouvrir le document enregistrer, word me dit qu'il est corrompu.

    Voici mon code :

    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
     
    string docWord = @"C:\Users\Nicolas\Documents\test.docx";
     
                //overture du package en lecture/écriture
                Package officePackage = Package.Open(docWord, FileMode.Open, FileAccess.ReadWrite);
     
                //type de contenu pour la partie principale
                const String officeDocRelType = @"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument";
     
                PackagePart mainPart = null;
                Uri documentUri = null;
                //on récupère la partie contenant les propriétés
                foreach (PackageRelationship relationship in officePackage.GetRelationshipsByType(officeDocRelType))
                {
                    // Il n'y a qu'une seule partie de type partType dans le package
                    documentUri = PackUriHelper.ResolvePartUri(new Uri("/", UriKind.Relative), relationship.TargetUri);
                    mainPart = officePackage.GetPart(documentUri);
                    break;
                }
                if (mainPart != null)
                {
                    //chargement de la partie dans un XmlDocument
                    XmlDocument doc = new XmlDocument();
                    string test = "";
                    doc.Load(mainPart.GetStream());
     
                    test = mainPart.ContentType;
                    //sensible à la casse
                    if (doc.DocumentElement.InnerText.Contains("%%id_evt"))
                    {
                        int i = 0;
                        doc.DocumentElement.InnerText = modifierVariable(Ta, Act, doc.DocumentElement.InnerText);
                        //MessageBox.Show("Texte trouvé dans le document");
                    }
                    officePackage.Close();
                    doc.Save(docWord);
                }
    Visiblement je ne devrais pas l'enregistrer via doc, mais plutot via mainPart, enfin changer le contenu de mainPart, mais j'ai pas limpression que cela soit possible. Je bloque.

    Dans l'attente de votre aide. Cordialement SiOuZ

  2. #2
    Membre très actif
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Août 2010
    Messages : 130
    Par défaut
    Salut,
    Tu veux :
    remplacer des variable prédéfinit dans le document de base ?

    regardes ici (si je ne me trompe pas, il le fait à un moment sur des tags du document word): http://blogs.techrepublic.com.com/howdoi/?p=190

Discussions similaires

  1. Modifier le texte d'un document word avec Java
    Par randhalrens dans le forum Environnement de Développement Intégré (EDI)
    Réponses: 0
    Dernier message: 16/09/2009, 15h38
  2. Modifier une image d'un document Word 2003
    Par longbeach dans le forum Word
    Réponses: 2
    Dernier message: 12/03/2009, 15h44
  3. [E-03] Modifier une entête d'un document Word
    Par Jean-Pierre49 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 21/10/2008, 08h04
  4. ecrire ou modifier un document word
    Par debutantasp dans le forum ASP
    Réponses: 10
    Dernier message: 06/03/2008, 11h59
  5. [FPDF] Modifier un document Word et l'exporter au format PDF
    Par nicocsgamer dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 02/11/2005, 21h32

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