Utilisation de Word - TextBox

Résolu
Utilisateur anonyme - 11 nov. 2017 à 10:46
 Utilisateur anonyme - 12 nov. 2017 à 10:45
Bonjour à tous,
J'utilise le code suivant pour insérer une zone de texte dans mon document Word.
MonDocument.Shapes.AddTextbox(TaRightJustify,30,25,230,110);
MonDocument.shapes.item(1).select;
puis, j'insère mon texte, je définis les lignes du cadre ... ça fonctionne très bien.

Mais, le problème que je rencontre, est le suivant: je voudrais insérer un tableau.
Donc, Comment sortir de ma zone de texte ???, je n'arrive pas, ce qui à pour résultat, d'insérer mon tableau à l'intérieur de ma zone de texte.
Pourriez-vous m'aider ?,
Cordialement.

ps: je pilote Word depuis Delphi, mais, je n'est pas réussi à créer une macro dans Word, pour faire des tests.

2 réponses

cs_Le Pivert
Messages postés
7743
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 mai 2022
129
11 nov. 2017 à 11:31
0
Utilisateur anonyme
Modifié le 11 nov. 2017 à 14:34
Bonjour Le Pivert;
Un grand merci pour ton aide,
mais cela ne répond pas à mon problème.
" Comment sortir de ma zone de texte ???,"
Pas de créer le tableau que je sais faire
Heureusement pour moi, j'ai l'ancienne faq, car cette nouvelle n'est pas explicite pour beaucoup d'exemples.
mais, je te remercie quand même,
cordialement
0
cs_Le Pivert
Messages postés
7743
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 mai 2022
129 > Utilisateur anonyme
12 nov. 2017 à 08:14
Dans le lien que je t'ai donné il y a aussi cela:

https://word.developpez.com/faq/?page=tableaux-VBA#vba_table_ajout_espace_dessus

Ce qui donne:

Option Explicit
Private Sub CommandButton1_Click()
Dim myTB1
Set myTB1 = ActiveDocument.Shapes.AddTextbox _
 (msoTextOrientationHorizontal, 72, 72, 120, 36)
myTB1.TextFrame.TextRange = _
 "ceci est un test."
TableMult
ActiveDocument.Tables(1).Rows(1).Range.Select
Selection.SplitTable
End Sub
Sub TableMult()
Dim oTbl As Table
Dim iC As Integer
Dim iL As Integer
 
Set oTbl = ActiveDocument.Tables.Add(Range:=Selection.Range, NumRows:=10, numcolumns:=10)
For iC = 1 To 10
    For iL = 1 To 10
        oTbl.Cell(iL, iC).Range.Text = iC * iL
    Next iL
Next iC
With oTbl
    .Borders.Enable = True
    .Borders(wdBorderBottom).LineWidth = wdLineWidth050pt
    .Borders(wdBorderLeft).LineWidth = wdLineWidth050pt
    .Borders(wdBorderRight).LineWidth = wdLineWidth050pt
    .Borders(wdBorderTop).LineWidth = wdLineWidth050pt
End With
End Sub

0
Utilisateur anonyme > cs_Le Pivert
Messages postés
7743
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 mai 2022

12 nov. 2017 à 10:45
Bonjour Le Pivert;
Un grand merci pour ta réponse,
Je vais essayer ton code,
Je considère le problème comme résolu
Merci pour ton aide
bon codding
Très cordialement
0
Whismeril
Messages postés
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
596
11 nov. 2017 à 13:24
0
Utilisateur anonyme
Modifié le 11 nov. 2017 à 13:50
Bonjour Whismeril,
Oui, car dans un forum je sollicite le forum delphi et dans l'autre le forum VBA Word.
D'où ma question sur les deux forums.
Car, comme je le dis bien, j'utilise Delphi pour piloter Word
cordialement
0