Page 1 sur 1

[R] Génération de fichier .doc

Posté : jeu. 12 juin 2008 16:19
par Dast
Bonjour à tous,

Actuellement en stage en entreprise pour mes études, je cherche à générer un fichier Word automatiquement. Texte, mise en page, insertion de tableau, d'image, etc...

Je sais que c'est tout à fait possible avec autoit et je vois déjà comment faire tout cela, mais la façon dont je vois le déroulement du script est assez... euh comment dire... chiant!
Automatiser étape pas étape toute les événements que l'utilisateur fait pour faire son document me semble un peu trop... euh comment dire... lourd!

Est ce que vous voyez autre chose? :roll:

Re: [..] Génération de fichier .doc

Posté : jeu. 12 juin 2008 16:52
par jbnh
Je crois que tu as pas le trop de choix, chaque fonction de Word devra être dans le script sous forme de fonction ou quoi.

Tu veux faire quoi précisément? ça pourrait peut être aider. La composition du texte sera dans ta GUI, puis transformé en doc word?

Jette quand meme un coup d'oeil ici : Microsoft Word Automation Library

Tout est repris, j'ai pas encore bien regardé comment çà marche, mais ya un fichier aide, j'ai lu un peu, ça à l'air de pas être trop compliqué

Re: [..] Génération de fichier .doc

Posté : ven. 13 juin 2008 09:12
par Dast
Je vais jeter un œil. Merci pour ta réponse. En fait je ne pensais pas faire une GUI, juste un script basique qui fait ce que je veux.
Et désolé d'avoir posté ici, je me suis tromper je vous mettre ça dans "Aide générale".
++

Re: [..] Génération de fichier .doc

Posté : ven. 13 juin 2008 16:38
par Dast
Bon j'ai jeté un œil à toutes ces jolies fonctions :)
J'arrive à utiliser certaines, comme par exemple l'ajout d'ajout d'image _WordDocAddPicture
Mais question mise en page, il n'y a rien :(
Est ce que vous croyez que je vais devoir allez chercher ça dans les menu en simulant clavier et souris?

(P.S: Est ce que ce post peut être bouger vers "Aide générale" ça serait super cool, j'ma gouré taleur dsl :?)

Re: [..] Génération de fichier .doc

Posté : lun. 16 juin 2008 17:30
par Dast
reBonjourn,
Bon j'me suis remis dessus aujourd'hui et j'ai quelques soucis.
J'aimerais actuellement faire un copier/coller d'une section d'un autre document Word.
Quelqu'un saurait me dire comment ouvrir simplement un fichier quelconque? (ca parrait bête comme ca mais j'galère) :( enfait j'veux ouvrir une page .htm, faire un ctrl+a -> ctrl+c et copier dans mon document à moi :mrgreen:

Autre chose: pour l'ouverture et l'ajout de document la doc me dit de faire un truc dans l'genre là:

Code : Tout sélectionner

#include <Word.au3>
$oWordApp = _WordCreate ("")
$oDoc = _WordDocOpen ($oWordApp, @ScriptDir & "\Test.doc")
 
et

Code : Tout sélectionner

#include <Word.au3>
$oWordApp = _WordCreate ("")
$oDoc = _WordDocAdd ($oWordApp)
mais moi je veux pas ouvrir un doc vierge avant :(
Quelqu'un pourrait me conseiller?

Re: [..] Génération de fichier .doc

Posté : mar. 17 juin 2008 13:42
par Dast
Bonjour moi,
J'vais continuer mon topic tout seul :)
J'ai trouvé une solution (enfin pas à tout), j'ouvre mon .htm dans un ie avec l'IE.au3
Mais!
Je rencontre un problème (étonnant non?), mon copier/coller marche super bien, tellement bien qu'il me le colle 2 fois... :shock:
Alors que je lui demande le faire qu'une seule fois! :evil: Va comprendre!

Code : Tout sélectionner

#include <Word.au3>
#include <IE.au3>

$moisAnnee = "Mars_2008"

; Ouverture d'un document word type
$oWordApp = _WordCreate ("")
$oDoc = _WordDocOpen ($oWordApp, @ScriptDir & "\Document type.doc")

; Option de recherche de titre de fenêtre.
AutoItSetOption("WinTitleMatchMode", 3);

; Sélection de la fenêtre du document vierge.
WinActivate("Document1 - Microsoft Word");
; Attente d'activité.
WinWaitActive("Document1 - Microsoft Word");
; Fermeture du document vierge.
WinClose("Document1 - Microsoft Word");

; Sé&lection de la fenêtre du document type.
WinActivate("Document type.doc - Microsoft Word");
; Attente d'activité.
WinWaitActive("Document type.doc - Microsoft Word");

; Positionnement du curseur.
send("{PGDN 5}")

; Ouverture du fichier htm ou se trouve Chapitre Faits Marquants et copie de celui là.
$oIE = _IECreate ("D:/Charles/Projets/TdB/Testautomatisation/" & $moisAnnee & "/accueil/accueil.htm")
sleep(1000)
Send("^a")
sleep(100)
Send("^c")
Winclose("D:/Charles/Projets/TdB/Testautomatisation/" & $moisAnnee & "/accueil/accueil.htm")

; Resélection de la fenêtre du document type.
WinActivate("Document type.doc - Microsoft Word");
sleep(200)
Send("^v")
sleep(400)
Send("!{ENTER}")
Si quelqu'un sait pourquoi... :mrgreen:

Re: [..] Génération de fichier .doc

Posté : mar. 17 juin 2008 13:48
par Dast
Bon...
J'ai trouvé! Vous avez rien vu hein? :wink:
J'avais mit Send("!{ENTER}") au lieu de Send("^{ENTER}") :roll:
Par contre pourquoi le ALT+ENTREE me faisait un coller de plus ça je sais pas.

Re: [..] Génération de fichier .doc

Posté : mer. 25 juin 2008 10:26
par Dast
Bon bah voilà j'ai fini mon script :p
Vive moi!
Si vous avez des question sur Word maintenant je suis calé :wink:
Merci pour votre aide.

Re: [R] Génération de fichier .doc

Posté : mer. 25 juin 2008 10:51
par jbnh
De votre aide? on a rien glandé :mrgreen: Bravo à toi pour avoir trouver les solutions tout seul, et maintenant si on a une question word, on sait a qui s'adresser :)

Re: [R] Génération de fichier .doc

Posté : mer. 25 juin 2008 11:24
par Dast
Merci. Mais quand je dis "votre aide", je veux dire que c'est grâce à tous vos posts que j'ai pu trouver mes solutions, en farfouillant un peu partout ^^
Mais c'est vrai que vous avez rien gl... :p