Vous ne pouvez pas écrire les constants comme ceci:
jcaspar a écrit :$word.Selection.MoveDown ("wdLine", 3)
Ou vous donnez la valeur de la constants ou vous déclarez la constant. En générale, elles s'écrivent par ex: Global Const $wdLine = ... Donc toutes les constants commencent par $
Je vous renvoie à une précédente réponse http://autoitscript.fr/forum/viewtopic. ... 422#p93854 ou vous trouverez pas mal de manière pour créer et configurer un tableau Word et un lien vers un UDF de constants.
Si vous l'utilisez, ne mettez pas #include<Word.au3> car vous aurez des déclarations en double, donc bug ! (Word.au3 n'est pas utile dans votre cas car vous passez par $word = ObjCreate("Word.Application") )
Cordialement,
Walkson "Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Cela reviendrait à créer du code sous la forme suivante si je comprends bien .... bon j'ai encore du travail sur la planche pour tout comprendre
mais grâce à vos conseils j'avance petit à petit...
local $nom = "Le nom d'utilisateur est " & @username
local $ip = "L'adresse IP du PC est :" & @IPAddress1
local $domaine = "Vous êtes connecté au domaine:" & @LogonDomain
local $serveur = "Vous êtes connecté au serveur:" & @LogonServer
local $os = "Votre système d'exploitation est le suivant :" & @OSVersion & @LF & " La langue est " & @OSlang & @LF & "Le service Pack est: " & @OSServicePack
Local $vbTab = 1
global Const $wdLine = 3 ;est une constant qui se réfère à l'unité utilisée
global Const $wdRow = 10
Local $NumRows = 6 ;est une variable comme $nom = "toto"
Local $NumColumns = 10
Global Const $wdMove = 0
global Const $wdWord9TableBehavior = 1
global Const $wdAutoFitFixed = 0
Local $Unit = 2
Local $Count = 5
;global const $Range = "MyRange" => Range se réfère à une sélection => $Range = $word.Selection.Range
$word = ObjCreate("Word.Application")
$word.visible = True
$word.Selection.WholeStory
$word.Documents.Add
$word.Selection.TypeText($nom)
$word.Selection.WholeStory
$word.Selection.Style = "Titre"
$word.Selection.insert
$word.Selection.TypeText($ip)
$word.Selection.Style = "Titre 1"
$word.Selection.TypeParagraph
$word.Selection.TypeText($nom)
$word.Selection.Style = "Titre 2"
$word.Selection.TypeParagraph
$word.Selection.TypeText($domaine)
$word.Selection.Style = "Titre 3"
$word.Selection.TypeParagraph
$word.Selection.TypeText($serveur)
$word.Selection.Style = "Titre 4"
$word.Selection.TypeParagraph
$word.Selection.TypeText($os)
$word.Selection.Style = "Titre 5"
$word.Selection.TypeParagraph
$word.Selection.TypeText($vbTab)
$word.Selection.EndOf(2, 0)
$word.Selection.MoveDown ($wdline)
;expression.Add(Étendue, NumLignes, NumColonnes, ComportementTableauParDéfaut, ComportementAjustAuto)
;expression.Add(Sélection, variable, variable, 2 contantes, constant WdAutoFitBehavior.)voir aide VBA "Tables.Add"
$word.ActiveDocument.Tables.Add($word.Selection.Range, $NumRows, $NumColumns, $wdWord9TableBehavior , Default)
With $word.Selection.Tables(1)
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = False
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = False
.ApplyStyleRowBands = True
.ApplyStyleColumnBands = False
EndWith
$word.ActiveDocument.Content.InsertParagraphAfter
;$word.Selection.MoveDown($wdline, 6, $wdMove); pas réussi à faire fonctionner
$word.Selection.Move($wdline, 61) ;chaque cell est comme une ligne. Y a surement une meilleure méthode
$word.ActiveDocument.Tables.Add($word.Selection.Range, $NumRows, $NumColumns)
Word n'est pas évident pour se déplacer dans un texte ou simplement de savoir où on en est (la sélection)
Si ca peut vous consoler, moi aussi je rame des fois....
Cordialement,
Walkson "Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
voici mes avancées le code fonctionne sous Word 2007 je coince encore pour modifier la couleur des cellules du tableau.... mais bon j'avance doucement mais surement
ensuite je voudrais pouvoir insérer des formes ... ce n'est pas forcément évident mais cet apprentissage permet d'étendre les possibilités à Excel, Outlook, Powerpoint etc...