Ce exemple montre comment ajouter des tableaux et comment ajouter des objet avec VB (exemple très facile pour comprendre ).
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
docword.Selection.Tables(1).Cell(1, 2).Range.Text = "wizz"
'ajouter une ligne
ActiveDocument.Tables(1).Rows.Add
'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