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 :

Template doc pour docx


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 63
    Par défaut Template doc pour docx
    Bonjour
    Je dois générer des docx mais mes templates sont en .doc.
    Est ce que c'est possible et comment ou sinon existe t'il un utilitaire qui pourra transformer mes .doc en template docx?
    Merci de votre aide

  2. #2
    Membre éprouvé Avatar de swif79
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 79
    Par défaut
    Bonjour,
    Avec ce qui suit tu peut "transformer" un .doc en .docx, référence juste Microsoft.Office.Interop.Word

    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
    50
    51
    52
    53
     
    private void ConvertDocToDocx(string docFilePath, string outputDocxFilePath)
    {
                Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
                app.Visible = false;
     
                var doc = OpenDocument(app, docFilePath, false);
                SaveDocAsDocx(app, doc, outputDocxFilePath);
                app.Quit(ref ObjectConstants.False, ref ObjectConstants.MissingValue,
                  ref ObjectConstants.MissingValue);
    }
     
     
    private void SaveDocAsDocx(Microsoft.Office.Interop.Word.Application app, Microsoft.Office.Interop.Word.Document doc,
             object outputFilePath)
    {
                object format = WdSaveFormat.wdFormatXMLDocument;
     
                doc.SaveAs(ref outputFilePath, ref format,
                  ref ObjectConstants.False, ref ObjectConstants.MissingValue,
                  ref ObjectConstants.MissingValue, ref ObjectConstants.MissingValue,
                  ref ObjectConstants.MissingValue, ref ObjectConstants.MissingValue,
                  ref ObjectConstants.MissingValue, ref ObjectConstants.MissingValue,
                  ref ObjectConstants.MissingValue, ref ObjectConstants.MissingValue,
                  ref ObjectConstants.MissingValue, ref ObjectConstants.MissingValue,
                  ref ObjectConstants.MissingValue, ref ObjectConstants.MissingValue);
    }
     
    private Microsoft.Office.Interop.Word.Document OpenDocument(Microsoft.Office.Interop.Word.Application app, object filePath, bool visible)
    {
                var doc = (Microsoft.Office.Interop.Word.Document)app.Documents.Open(ref filePath, ref ObjectConstants.MissingValue,
                     ref ObjectConstants.MissingValue, ref ObjectConstants.MissingValue,
                     ref ObjectConstants.MissingValue, ref ObjectConstants.MissingValue,
                     ref ObjectConstants.MissingValue, ref ObjectConstants.MissingValue,
                     ref ObjectConstants.MissingValue, ref ObjectConstants.MissingValue,
                     ref ObjectConstants.MissingValue, ref ObjectConstants.MissingValue,
                     ref ObjectConstants.MissingValue, ref ObjectConstants.MissingValue,
                    ref ObjectConstants.MissingValue, ref ObjectConstants.MissingValue);
     
                if (!visible)
                {
                    doc.ActiveWindow.Visible = false;
                }
     
                return doc;
    }
     
    public  class ObjectConstants
    {
                public static Object MissingValue = Missing.Value;
                public static Object True = true;
                public static Object False = true;
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 63
    Par défaut
    Merci mais j'ai oublier un petit détail, je dois assigner le contenu du .doc dans un String pour des modifications et ensuite le passer en docx.
    Et dans ton code je ne vois pas ou il faudrait que j'insère le contenu dans un string.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/04/2006, 12h49
  2. Recherche de doc pour un affichage animé
    Par Grinta dans le forum Assembleur
    Réponses: 2
    Dernier message: 07/05/2005, 10h32
  3. Doc pour créer requetes SQL via ODBC sous EXCEL
    Par satanas dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 25/01/2005, 08h33
  4. [oracle]cherche doc pour Hot Backup
    Par peppena dans le forum Administration
    Réponses: 5
    Dernier message: 04/12/2003, 23h19

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