... le premier doc comme template de génération
Bonjour, pour un besoins perso, j'ai dû faire des copier/coller de document word avec style différents.
Pour 2, ça va, mais pour des centaines issus de divers outils >_<'
Donc voici une méthode pour le faire avec 2 (extensibles ensuite en reprenant le principe à n documents ...)
► Afficher le texte
Code : Tout sélectionner
; Script Start - Add your code below here
#include <Word.au3>
$file_orig=FileOpenDialog("Choix du premier fichier",@ScriptDir,"doc (*.doc)",1)
if @error Then Exit 1
$file_orig2=FileOpenDialog("Choix du deuxième fichier",@ScriptDir,"doc (*.doc)",1)
if @error Then Exit 2
$file_out=FileSaveDialog("Choix de la sortie mergée",@ScriptDir,"doc (*.doc)",18,"merged_au3.doc")
if @error Then Exit 3
$oWordApp = _WordCreate ("",0,0)
$oDocout=_WordDocAdd($oWordApp,0,$file_orig);creation du doc de sortie avec $file_orig comme template de création
$oDocorig1=_WordDocOpen($oWordApp,$file_orig);ouverture du premier word
$oDocorig1.Range.Copy ; on copie
$Myrange=$oDocout.Range ; on va coller dans le doc de sortie
With $Myrange
.Paste
EndWith
$oDocorig2=_WordDocOpen($oWordApp,$file_orig2) ; ouverture du 2eme doc
$oDocorig2.Range.Copy ;on copie le contenu du 2eme doc
With $Myrange ; retours sur le doc de sortie ; on localise la position de fin ; on indique qu'on va coller depuis la fin du document; sinon on écrase tout
$pos = $Myrange.End
.Start=$pos
.End=$pos
.collapse "Direction:=wdCollapseEnd"
.Select
.Paste
EndWith
ClipPut("")
_WordDocSaveAs ( $oDocout, $file_out)
_WordDocClose ($oDocout)
_WordDocClose ($oDocorig1)
_WordDocClose ($oDocorig2)
_WordQuit ($oWordApp)
MsgBox(0,"Fin","fin du merge",5)
PS : à ne pas compiler avec Scite (en tout cas pour moi j'ai le wrapper qui n'est pas content). Allez y direct avec Aut2Exe
***** Important *****
- Ajoutez la balise [..] dans le titre de votre premier message
- N'oubliez pas les balises de code dans vos messages.
Plus de détails ici :
http://www.autoitscript.fr/forum/viewto ... f=35&t=595
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.