Page 1 sur 1

[R] Utilisation objets WOrd

Posté : jeu. 30 avr. 2015 12:47
par jcaspar
B :D onjour à vous !

J'essaie de comprendre comment manipuler les objets Word avec Autoit
en utilisant l'application object Browser je trouve un objet Word.application
que je peux donc utliser de la manière suivante si j'ai bien compris
et tester sa création avec le code suivant

Code : Tout sélectionner

$word= ObjCreate("Word.Application")
 If Not IsObj($word) Then
 MsgBox(0,"Debug","Création objet echec")
 Else
    MsgBox(0,"Debug","Création objet réussie")
 endif
 
Mais je ne comprens pas bien comment utiliser les fonctions ....


Le logiciel ObjectBrowser décrit les fonctions liées à l'objet Word.Application
pouvez vous m'eclairer sur la manière de les utiliser svp ?

En vous remerciant d'avance pour vos explicaitons et conseils

Jean-Marc

Re: [..] Utilisation objets WOrd

Posté : jeu. 30 avr. 2015 13:42
par orax
La documentation de ce bidule est sur MSDN. Je pense que c'est cette page : https://msdn.microsoft.com/FR-FR/librar ... 38565.aspx
Il y a aussi l'UDF Word.au3.

Re: [..] Utilisation objets WOrd

Posté : jeu. 30 avr. 2015 16:17
par jcaspar
Ci dessous un exemple qui permet d'écrire dans un document WOrd
Les objets COM permettent de faire du sur mesure et d'utiliser des objets qui ne sont pas implémentées dans les fonctions
natives d'Autoit....

Dans l'application Object Browser j'ai du mal à comprendre comment utiliser les fonctions.... on dirait que les atributs et les fonctions
sont représentées de manière identique.....
Si vous avez des informations qui pourraient m'éclairer je suis preneur lol

En vous remerciant

Jean-Marc

Code : Tout sélectionner


Const $wdFormatHTML = 8

$word = ObjCreate("Word.Application")
$word.visible = False
$word.Documents.open(@ScriptDir & "\test.doc")
$texte= "Autoit permet de faire des choses extraordinaires"
$word.Selection.TypeText( $utilisateur)
$word.Selection.Font.Bold = True
$word.Selection.TypeText( "" )
$word.Selection.Font.Bold = False
$word.Selection.TypeText( "." )

$word.ChangeFileOpenDirectory( @ScriptDir )
$word.Activedocument.SaveAs(@ScriptDir & "\test.doc" )
$word.Activedocument.SaveAs(@ScriptDir & "\test.htm", $wdFormatHTML )
$word.Application.Quit

 

Re: [..] Utilisation objets WOrd

Posté : ven. 01 mai 2015 13:30
par walkson
Bonjour,
Ce n'est pas très compliqué, c'est du VBA à la sauce Autoit.

Code : Tout sélectionner

$word = ObjCreate("Word.Application")
renvoie le Handle de Word. Il suffit de l'utiliser à chaque commande. par exemple

Code : Tout sélectionner

ActiveDocument.Bookmarks.Add Name:="temp", Range:=Selection.Range
code VBA pour créer un signet devient

Code : Tout sélectionner

$word.ActiveDocument.Bookmarks.Add ("temp", $word.Selection.Range)
et ainsi de suite.
Quand il y a des variables, 2 possibilités.

Code : Tout sélectionner

Selection.EndOf(Unit:=wdWord, Extend:=wdMove)
devient

Code : Tout sélectionner

$word.Selection.EndOf(2,0) ; fin paragraphe = 4 ligne = 5 mot = 2 section = 8
;(.EndOf Unit:=wdWord, Extend:=wdMove) extend = 1 move = 0
ou écrire les variables

Code : Tout sélectionner

Global Const $wdWord = 2

Quand je veux réaliser un script avec un process d'office, je réalise d'abord une macro sur ce process puis je la traduis en Autoit. Parfois c'est simple parfois c'est un casse tête !
En espérant avoir répondu à votre question...

Re: [R] Utilisation objets WOrd

Posté : mar. 05 mai 2015 09:48
par jcaspar
M :D erci beaucoup pour ces informations

Jean-Marc