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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137 > 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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024
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 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
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
Rejoignez-nous