Permet par du code ActiveX de piloter totalement Word 97 ou 6.0.
Source / Exemple :
'Enonciation des variables
Dim docword As New Word.Application
Private Sub Command1_Click()
'ouvre Word
Set docword = CreateObject("word.application")
'True pour word visible et false pour le mettre en arrière plan
docword.Visible = True
docword.DisplayAlerts = False 'évite les erreurs de traitement
docword.Documents.Add 'ajoute un document vierge
'on va écrire
docword.Selection.TypeText Text:="Comment piloter Word97"
'faire un tabulation
docword.Selection.TypeText Text:=vbTab
'revenir à la ligne
docword.Selection.TypeParagraph
'sauter une ligne
docword.Selection.TypeParagraph
docword.Selection.TypeParagraph
'zoomer
docword.ActiveWindow.ActivePane.View.Zoom.Percentage = 100
'mise en forme
'ATTENTION un petit conseil mes petits amis, c'est de d'abord mettre le format
'avant de d'insérer le texte donc si vous avez bien compris vous faites :
'docword.selection.paragraphformat.alignement = wdalignparagraphcenter
'docword.selection.typetext text:="blablabla"
'centré
docword.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
'aligné à gauche
docword.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
'justifié
docword.Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
'aligné à droite
docword.Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
'mettre le texte en souligné
If docword.Selection.Font.Underline = wdUnderlineNone Then
docword.Selection.Font.Underline = wdUnderlineSingle
Else
docword.Selection.Font.Underline = wdUnderlineNone
End If
'changer la taille de la police
docword.Selection.Font.Size = xx 'xx est une valeur numérique
'changer la police
docword.Selection.Font.Name = "Arial"
'mettre en gras
docword.Selection.Font.Bold = wdToggle
'mettre en italique
docword.Selection.Font.Italic = wdToggle
'souligner le texte
If docword.Selection.Font.Underline = wdUnderlineNone Then
docword.Selection.Font.Underline = wdUnderlineSingle
Else
docword.Selection.Font.Underline = wdUnderlineNone
End If
'changer la couleur de la police
docword.Selection.Font.ColorIndex = wdRed 'ici en rouge
docword.Selection.Font.ColorIndex = wdAuto 'ici en couleur automatique
'changer la couleur de fond du document
docword.ActiveDocument.Background.Fill.ForeColor.RGB = RGB(xxx, xxx, xxx)
'où xxx est une valeur comprise en 0 et 255 (256 couleurs)
docword.ActiveDocument.Background.Fill.Visible = msoTrue
docword.ActiveDocument.Background.Fill.Solid
'INSERER UN OBJET
'insérer une image à partir du fichier
docword.Selection.InlineShapes.AddPicture FileName:="C:\cool.bmp", _
LinkToFile:=False, SaveWithDocument:=True
'insérer un graphique type EXCEL
docword.ActiveDocument.Shapes.AddOLEObject Anchor:=Selection.Range, _
ClassType:="MSGraph.Chart.8", LinkToFile:=False, DisplayAsIcon:=False
'insérer un graphique à partir d'un fichier EXCEL existant
docword.ActiveDocument.Shapes.AddOLEObject ClassType:= _
"MSGraph.Chart.8", FileName:="c:\cool.xls", LinkToFile:=False, _
DisplayAsIcon:=False, Left:=xxx, Top:=xxx 'xxx est une valeur numérique
'linktofile:=True permet d'ouvrir le fichier EXCEL lorsque vous double-cliquez sur
'le graphique.
'left, top, ainsi que height et width définisse la position et la taille du graph
'insérer un WORDART
docword.ActiveDocument.Shapes.AddTextEffect(msoTextEffect28, "COOL", _
"Impact", 36#, msoFalse, msoFalse, 261.35, 157.5).Select
'insérer un tableau
docword.ActiveDocument.Tables.Add Range:=Selection.Range, _
NumRows:=2, NumColumns:=2
'pour écrire dans le tableau utiliser le typetext à la suite
'de cette fonction. Pour se déplacer, utiliser :
docword.Selection.MoveRight Unit:=wdCell
docword.Selection.MoveUp Unit:=wdLine, Count:=1
docword.Selection.MoveDown Unit:=wdLine, Count:=1
'insérer un lien hypertexte
docword.ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _
"http://www.cool.com/", SubAddress:=""
'effacer l'objet insérer
docword.Selection.ShapeRange.Delete
'insérer la date
docword.Selection.InsertDateTime DateTimeFormat:="jjjj j MMMM aaaa", _
InsertAsField:=False
'insérer un signet
With docword.ActiveDocument.Bookmarks
.Add Range:=Selection.Range, Name:="cool"
.DefaultSorting = wdSortByLocation
'ou = wdsortbyname -> indexer par nom
.ShowHidden = False
End With
'enregistrer le document sous cool.doc
docword.ActiveDocument.SaveAs FileName:="c:\cool.doc"
'quitter word
docword.Application.Quit
End Sub
Conclusion :
Avant de taper votre code, assurer vous que les références suivantes sont cochées sous votre VB :
- Microsoft Office 8.0 object library
- Microsoft Word 8.0 object library
Ce code a été réalisé sous VB 6.0 Professionnal et sous Windows ME.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.