[R] Aide pour insérer du texte dans un formulaire Word

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Aurel
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 01 juin 2015 23:33
Status : Hors ligne

[R] Aide pour insérer du texte dans un formulaire Word

#1

Message par Aurel »

Bonjour,

Je suis en cours de création d'un script, je bloque sur un fichier Word 2013.

J'arrive bien a écrire dans un fichier Word lorsque je l'ouvre, mais le fichier s'ouvre en lecture seul et je ne peux donc l'enregistrer avec les modifications du script.

Auriez-vous des indices pour réussir mon script.

Code : Tout sélectionner

    #include <MsgBoxConstants.au3>
    #include <Word.au3>


        $oWord = _Word_Create(False, True)
        If @error <> 0 Then Exit MsgBox($MB_SYSTEMMODAL, " ", "Erreur de création document Word." & @CRLF & "@error = " & @error & ", @extended = " & @extended)

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

       $mavariable = "Bonjour"
       $mavariable2 = "Vous allez bien ?"
        ;Send ("bonjour")
        $oRange = _Word_DocRangeSet($oDoc, -1)
        Dim $asArray[2] = [$mavariable, $mavariable2]

        _Word_DocTableWrite($oRange, $asArray, 0)
 
Modifié en dernier par Aurel le mer. 03 juin 2015 09:00, modifié 4 fois.
Avatar du membre
parazitenew
Niveau 7
Niveau 7
Messages : 310
Enregistré le : sam. 10 déc. 2011 15:08
Localisation : Algerie
Status : Hors ligne

Re: [..] Aide pour insérer du texte dans un formulaire Word

#2

Message par parazitenew »

Bonsoir,

Êtes vous sûr que le problème ne vient pas du fichier lui même, avant de toucher au script. Vérifiez dans les propriétés du document que la case "Lecture seule" ne soit pas cochée.

Une alternative est d'utiliser _WordDocSaveAs() au lieu de _WordDocSave()
Aurel
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 01 juin 2015 23:33
Status : Hors ligne

Re: [..] Aide pour insérer du texte dans un formulaire Word

#3

Message par Aurel »

Bonjour parazitenew,

J'ai ajouté le script que j'utilise.

Par contre je n'ai pas de problème de droit sur le fichier Doc1.docx
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Aide pour insérer du texte dans un formulaire Word

#4

Message par jbnh »

Salut,

Cfr doc de _Word_DocOpen
_Word_DocOpen ( $oAppl, $sFilePath [, $bConfirmConversions = False [, $iFormat = $WdOpenFormatAuto [, $bReadOnly = False
Vous avez mis True.
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
parazitenew
Niveau 7
Niveau 7
Messages : 310
Enregistré le : sam. 10 déc. 2011 15:08
Localisation : Algerie
Status : Hors ligne

Re: [..] Aide pour insérer du texte dans un formulaire Word

#5

Message par parazitenew »

Bonjour,

Apparemment jbnh l'a trouvé :D je n'utilise pas la nouvelle version d'autoit, les fonctions sont légèrement différentes.
Aurel
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 01 juin 2015 23:33
Status : Hors ligne

Re: [..] Aide pour insérer du texte dans un formulaire Word

#6

Message par Aurel »

Merci cela fonctionne correctement.
Merci a vous deux
Aurel
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 01 juin 2015 23:33
Status : Hors ligne

Re: [R] Aide pour insérer du texte dans un formulaire Word

#7

Message par Aurel »

Par contre cela rentre le texte dans un tableau.

Avec Autoit est-il possible d’écrire un texte hors tableau?

Sinon est-il possible de sélectionner le nom du champ (ex: Texte1)
Avatar du membre
parazitenew
Niveau 7
Niveau 7
Messages : 310
Enregistré le : sam. 10 déc. 2011 15:08
Localisation : Algerie
Status : Hors ligne

Re: [...] Aide pour insérer du texte dans un formulaire Word

#8

Message par parazitenew »

Tout dépend de la mise en forme de votre document word. Si vous savez exactement où mettre le texte (comme un formulaire par exemple), vous pouvez utilisez la fonction:

Code : Tout sélectionner

_Word_DocFindReplace()
Elle permet de trouver un texte ou un mot et de le remplacer par ce que vous voulez. Vous pouvez arranger la forme et la mise en page de votre document à votre aise, dans les champs destinés à mettre du texte mettez un mot unique, par exemple:
► Afficher le texte
Ma fonction serait donc:
► Afficher le texte
Donc vous pouvez mettre "texte1" sur votre document et le remplacer avec ce que vous souhaitez en utilisant la fonction, mais faites attention à respecter les paramètres de la fonction de la nouvelle version d'autoit. Elle pourrait différer de la mienne.
Aurel
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 01 juin 2015 23:33
Status : Hors ligne

Re: [...] Aide pour insérer du texte dans un formulaire Word

#9

Message par Aurel »

Ok merci je vais tester.

par contre la cellule que je cherche a remplir est vide mais elle a un nom "texte1"
Avatar du membre
parazitenew
Niveau 7
Niveau 7
Messages : 310
Enregistré le : sam. 10 déc. 2011 15:08
Localisation : Algerie
Status : Hors ligne

Re: [...] Aide pour insérer du texte dans un formulaire Word

#10

Message par parazitenew »

Aurel a écrit :Ok merci je vais tester.

par contre la cellule que je cherche a remplir est vide mais elle a un nom "texte1"
Vous devrez mettre quelque chose dans la cellule comme "texte1" par exemple. Et la valeur que vous voulez insérer remplacera le "texte1" à l'intérieur de la cellule.
Répondre