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

Windows Forms Discussion :

VB 2008 et l'Automation avec Word.


Sujet :

Windows Forms

  1. #1
    Membre actif Avatar de turican2
    Profil pro
    Inscrit en
    Août 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2006
    Messages : 257
    Points : 239
    Points
    239
    Par défaut VB 2008 et l'Automation avec Word.
    Bonsoir à tous,

    J'ai besoin pour un projet en vb 2008 de générer des documents word en automatique. J'ai donc trouvé une notion interessante "Automation" présenter par une sorte de mini tutoriel Microsoft: http://support.microsoft.com/kb/316383

    Le doc se rempli bien c'est presque magique mais voilà, pour être crédible j'ai besoin de générer mes propres Header et footer qui incluent des images, du texte.

    1. Connaitriez vous des tutoriel plus exhaustifs afin de parfaire la breve présentation de Microsoft?
    2. Pourriez vous eventuellement me depannez en m'expliquant comment intégrer de header et footer avec image + texte.

    merci de votre aide à tou(tes)
    "La connaissance s'accroît quand on la partage."(Socrate)

    Si vous trouvez vous même la solution au POST que vous venez de poser, indiquez nous comment vous avez fait

  2. #2
    Membre actif Avatar de turican2
    Profil pro
    Inscrit en
    Août 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2006
    Messages : 257
    Points : 239
    Points
    239
    Par défaut
    Alors, l'idée c'est de créer un document word type avec le squelette des données invariantes. Header/footer et éventuellement, du text qui ne se modifiera pas.

    Ensuite placer le curseur de votre souris à l'emplacement ou le contenu variant va arrivé puis faite.

    bar d'outils, "Insert" > "bookmark" et donner un nom à cette emplacement ex "tableau1"

    refaite cette étape partout dans le document où cela est nécessaire en donnant un nom différent à vos bookmark. Maintenant enregistrer votre document au format *.doc (de façon a conserver votre fichier type) et refaite "enregistrer sous" et nommé le maintenant exemple.dot. Ce fichier *.dot est un template.

    Le code microsoft fourni par l'url jointe ci dessus doit être modifier de la sorte.

    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
     
                dim oMissing = System.Reflection.Missing.Value;
     
                //CREATING OBJECTS OF WORD AND DOCUMENT
     
                Word.Application oWord = new Word.Application();
     
                Word.Document oWordDoc = new Word.Document();
     
                //MAKING THE APPLICATION VISIBLE
     
                oWord.Visible = true;
     
                //ADDING A NEW DOCUMENT TO THE APPLICATION
                dim oTemplatePath = "C:\\template.dot";
     
                oWordDoc = oWord.Documents.Add(ref oTemplatePath, ref oMissing, ref oMissing, ref oMissing);
     
                dim oBookMarkName = "tableau1";
     
                Word.Paragraph oPara2;
                object oRng = oWordDoc.Bookmarks.get_Item(ref oBookMarkName).Range;
                oPara2 = oWordDoc.Content.Paragraphs.Add(ref oRng);
                oPara2.Range.Text = "du text que j'ajoute !!!";
                oPara2.Format.SpaceAfter = 6;
                oPara2.Range.InsertParagraphAfter();
    n'oubliez pas les Imports qui vont bien:
    Imports Microsoft.Office
    Imports Word = Microsoft.Office.Interop.Word
    Imports System.Reflection

    bon soyons tout de meme franc, j'ai été obligé d'écrire le code en C# donc ce code peut ne pas fonctionner et je suis pas un pro en vb.net ni c#

    donc si ça interesse quelqu'un je réécrirai le code qui tourne dans la section c# et non vb.net


    voilà voilà
    "La connaissance s'accroît quand on la partage."(Socrate)

    Si vous trouvez vous même la solution au POST que vous venez de poser, indiquez nous comment vous avez fait

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    C'est un mix des 2 langages parce que j'ai jamais vu de ; à la fin d'une instruction en vb.net

    D'ailleurs les commentaires c'est aussi la syntaxe du C.

  4. #4
    Membre actif Avatar de turican2
    Profil pro
    Inscrit en
    Août 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2006
    Messages : 257
    Points : 239
    Points
    239
    Par défaut
    vi j'ai commencé en vb.net et ça ne fonctionnait pas du tout. J'ai trouvé un début de code en c# qui lui fonctionnait bien mais que je n'arrivais pas à réintegrer completement en vb.net.

    J'ai donc finalisé mon truc en c# et tenté une conversion à la volé directe sur le forum sans debug force est de constater que quand m'y met je suis une grosse truffe.

    Quite à faire quelque chose et avoir la solution, faisons le bien

    Le code qui tourne en vb.net ))


    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
     
      Dim oMissing As Object = System.Reflection.Missing.Value
     
            Dim oWord As Word.Application = New Word.Application()
            Dim oWordDoc As Word.Document = New Word.Document()
     
            oWord.Visible = True
     
            Dim oTemplatePath As String = "C:\\template.dot"
            oWordDoc = oWord.Documents.Add(oTemplatePath)
     
            Dim oBookMarkName As Object = "infoEtudiantDeb"
     
            Dim oPara2 As Word.Paragraph
            Dim oRng As Object = oWordDoc.Bookmarks(oBookMarkName).Range()
     
            oPara2 = oWordDoc.Content.Paragraphs.Add(oRng)
     
            oPara2.Range.Text = "Developpez.com"
     
            oPara2.Format.SpaceAfter = 6
            oPara2.Range.InsertParagraphAfter()
     
            Dim oBookMarkName2 As Object = "listLivreDeb"
     
            Dim oPara3 As Word.Paragraph
            Dim oRng2 As Object = oWordDoc.Bookmarks(oBookMarkName2).Range()
            oPara3 = oWordDoc.Content.Paragraphs.Add(oRng2)
            oPara3.Range.Text = "une liste de livre????"
            oPara3.Format.SpaceAfter = 6
            oPara3.Range.InsertParagraphAfter()
    "La connaissance s'accroît quand on la partage."(Socrate)

    Si vous trouvez vous même la solution au POST que vous venez de poser, indiquez nous comment vous avez fait

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 10
    Points : 14
    Points
    14
    Par défaut
    Pour converti les exemple c# en VB.net ou l'inverse utilise ce site :

    http://www.developerfusion.com/tools.../csharp-to-vb/

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

Discussions similaires

  1. [Lazarus] Problème d'Ole Automation avec Word : Mot réservé
    Par Jon Shannow dans le forum Lazarus
    Réponses: 5
    Dernier message: 12/02/2014, 08h36
  2. Réponses: 0
    Dernier message: 10/07/2013, 11h11
  3. [SP-2010] Impossible de convertir en PDF avec Word Automation Services
    Par Baptiste Wicht dans le forum SharePoint
    Réponses: 0
    Dernier message: 13/11/2011, 15h11
  4. Problème d'Automation avec Word 2010
    Par brum dans le forum Visual C++
    Réponses: 0
    Dernier message: 04/07/2011, 17h53
  5. Réponses: 4
    Dernier message: 13/10/2010, 16h28

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