[R] Inserer du texte à un endroit précis d'un fichier word

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
parazitenew
Niveau 7
Niveau 7
Messages : 310
Enregistré le : sam. 10 déc. 2011 15:08
Localisation : Algerie
Status : Hors ligne

[R] Inserer du texte à un endroit précis d'un fichier word

#1

Message par parazitenew »

Bonsoir,

J'ai deja trouvé des topics sur le sujet mais rien qui concerne mon problème avec exactitude.

Alors, j'ai commencé un codé un programme de création de factures, avec les commandes de _Word....
j'ai pu faire ouvrir un Modèle que j'ai crée, y inserer du texte et le sauvegarder sous un autre nom.

Le problème c'est que le texte est inseré à la fin du document, et ça ne m'arrange pas. Je sais que c'est à cause du "Range.insertAfter" ya aussi "Range.text" qui insere là où il ya le curseur (par défaut en haut du document)

ce que je veux c'est y inserer les données (Nom,Prénom, N° dossier, date etc...) qui sont lu à partir des input sur le GUI avec GUICtrlRead($inputX), à des endroits précis.
Ex:

Nom: XXX
Prénom: XXX

Je voudrai que les données soient écrits à la place du XXX

Y'aurait-il des fonctions qui permettent de positionner le curseur où je voudrai ?

Sinon si il ya un autre moyen pour réaliser mon programme je suis ouvert, ce n'est vraiment pas obligé que je travail avec les commande _Word par contre les factures devront êtres enregistrés sous .doc.

Merci de vos suggestions.

Mon script si ça peut aider:
► Afficher le texte
PS: Le programme est pour un oncle qui n'a pas envie de télécharger des progs du net parcequ'il s'y connais pas trop en informatique, j'ai pensais lui codé ce programme trés basique pour qu'il puisse créer ses factures en toute simplicité.
Modifié en dernier par parazitenew le dim. 15 janv. 2012 16:00, modifié 1 fois.
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..]Inserer du texte à un endroit précis sur un fichier

#2

Message par PandiPanda »

Bonsoir,
ceci peut être ? _WordDocFindReplace()
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Wardow
Niveau 4
Niveau 4
Messages : 81
Enregistré le : dim. 31 juil. 2011 10:14
Status : Hors ligne

Re: [..]Inserer du texte à un endroit précis sur un fichier

#3

Message par Wardow »

je suis peut être totalement hors sujet mais si tu dit a ton script de lancer une recherche dans le doc Word : le curseur se placeras peut être à l'endroit ou est le mot recherché
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: [..]Inserer du texte à un endroit précis sur un fichier

#4

Message par parazitenew »

PandiPanda a écrit :Bonsoir,
ceci peut être ? _WordDocFindReplace()
ça marche, non ça court!!!!! c'est exactement ce que je voulais, merci. Du coup voilà la nouvelle partie

Code : Tout sélectionner

$oWordApp = _WordCreate (@ScriptDir & "\Facture.doc", 0, 0)
            
            $oDoc = _WordDocGetCollection ($oWordApp, 0)
             _WordDocFindReplace($oDoc, "Ndc", GUICtrlRead($input1))
             _WordDocFindReplace($oDoc, "Pdc", GUICtrlRead($input2))
             _WordDocFindReplace($oDoc, "xxxx", GUICtrlRead($input4))
            _WordDocSaveAs($oDoc, @ScriptDir & "\Facture " & GUICtrlRead($input3) & ".doc")
            _WordQuit ($oWordApp, 0)
1. Il cherche "Ndc" dans le .doc et le remplace par ce qui est écrit dans le 1er input qui correspond au "Nom"
Le hic c'est qu'il respecte pas la casse de l'input mais ce lui du Find;

Ex:
le fait d'avoir mis "Ndc" veux dire que peu importe comment j'écris "jack" dans l'input la commande va mettre "Jack" 1ere lettre en MAJ le reste en minuscul. Lorsque j'vais mis "NDC" elle l'a remplacé par "JACK"

Ce qui est un soucis lorsque l'opérateur voudra mettre un Nom en MAJ ou en minuscul quand il veut. Je dois faire en fonction.

Une idée ? ^^ je continue de chercher de mon coté aussi.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Inserer du texte à un endroit précis d'un fichier w

#5

Message par mikell »

Bah c'est plutôt bien que la casse soit forcée, comme ça quoi que tape l'opérateur, le nom sera bien formaté... par tradition dans les factures le nom est en majuscules et le prénom en minuscules, pour différencier Georges MARTIN de GEORGES Martin par exemple ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre