Page 1 sur 1

[R] Insérer image et texte dans Word

Posté : mer. 12 févr. 2014 22:44
par Hugues
Bonjour,

Je suis confronté à un soucis de mise en page avec Word.

En effet, je souhaite intégrer dans un fichier Word une image et le contenu d'un fichier texte.

Je voudrais que ma feuille soit en paysage, l'image à gauche et la partie texte à droite de mon image...

J'ai déjà "bricolé" quelque chose, mais soit l'image est avant ou bien après... :cry:

Si joint mon code:
► Afficher le texte
Edit: En fait pour que mon image et mon texte soit juxtaposés, il faudrait que j'insère une zone de texte dans laquelle je viens mettre mon image... mais là je sais pas faire... :( :| -> Faux, complètement faux, maintenant je sais ^^

Voici le code pour ceux que ça intéresse (provient du site anglais :mrgreen: ):
► Afficher le texte

Merci.

Re: [..] Insérer image et texte dans Word

Posté : jeu. 13 févr. 2014 12:01
par walkson
Bonjour,
Comme le texte est un tableau, j'ai rajouté une colonne où se met l'image.
► Afficher le texte
Fonctionne sous Office 2007

Re: [..] Insérer image et texte dans Word

Posté : jeu. 13 févr. 2014 21:45
par Hugues
Ok, je teste et j'en dit des nouvelles ^^ :mrgreen:

Re: [..] Insérer image et texte dans Word

Posté : ven. 14 févr. 2014 12:27
par walkson
Bonjour,
Une petite rectif pour $oword.Selection.Rows(1) qui doit être $oword.Selection.Columns(1).Select comme suit:
► Afficher le texte
Sinon, il y a la possibilité de ne pas passer par un array (plus rapide, il me semble)

Code : Tout sélectionner

    #include <Word.au3>

    Global const $wdInsertCellsEntireColumn =   3
    Global Const $wdPreferredWidthPercent = 2
    Global Const $wdAutoFitContent = 1
    Global Const $wdAutoFitWindow = 2
    Global Const $wdWord9TableBehavior = 1
            $oWord = _Word_Create()
        If @error <> 0 Then Exit MsgBox(0, "Impression courbe", "Erreur de création document Word." & @CRLF & "@error = " & @error & ", @extended = " & @extended)

        ;On ouvre le fichier Word
        $oDoc = _Word_DocOpen($oWord, @ScriptDir & "\test.doc", Default, Default, True)
        If @error <> 0 Then Exit MsgBox(0, "Impression courbe", "Erreur d'ouverture 'Print.doc'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)

        ;On définit l'orientation de la page (le cas présent Paysage)
        $oDoc.PageSetup.Orientation = $wdOrientLandscape


        ;On ajoute le texte
        Local $PFile =  @ScriptDir & "\test.txt"
        ;creation tableau  1 ligne 2 colonnes
            $oWord.ActiveDocument.Tables.Add ($oWord.Selection.Range, 1,  2, $wdWord9TableBehavior,  $wdAutoFitContent)
            $oword.Selection.Tables(1).Columns(2).Select
            ;ajout texte
               $oWord.Selection.InsertFile ($PFile, "", False, False, False)
        $oword.Selection.Tables(1).Columns(1).Select
        ;ajout image
        _Word_DocPictureAdd($oDoc, @ScriptDir & "\test.jpg", Default, Default, Default)
        ;mise en forme de l'image
        $oWord.ActiveDocument.InlineShapes.Item(1).Width = 200
        $oWord.ActiveDocument.InlineShapes.Item(1).Height = 400

Rmq: les chemins texte et image sont à adapter

Re: [..] Insérer image et texte dans Word

Posté : lun. 17 févr. 2014 10:08
par Hugues
Ok, merci beaucoup!

J'ai pris la deuxième solution plus rapide et mieux au niveau mise en page.