Bonjour,
Je cherche à parcourir l'ensemble des contrôles ActiveX que j'ai inséré dans un simple document Word, pour afficher leur nom en cliquant sur un bouton ActiveX.
Pour le moment, j'ai simplement un bouton se nommant "CommandButton1" et deux TextBox se nommant "Titre1" et "SousTitre".
Ils ont été inséré directement dans un document Word 2016.
Mon document Word se nomme "TEST.docm" et le code VBA se trouve dans Project(TEST) -> Microsoft Word Objets -> ThisDocument
Pour se faire, j'ai essayé cette première méthode :
Ici, je n'obtiens l'affichage que d'un seul MsgBox qui m'affiche "CommandButton1" mais pas les deux autres noms de mes ActiveX de type TextBox
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub CommandButton1_Click() Dim mesctl As InlineShape For Each mesctl In ActiveDocument.InlineShapes MsgBox mesctl.OLEFormat.Object.Name Next mesctl End Sub
Deuxième méthode utilisée :
Ici j'obtiens une erreur de compilation "Type défini par l'utilisateur non défini" et qui me surligne "Ctrl As OLEObject"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub CommandButton1_Click() Dim Ctrl As OLEObject For Each Ctrl In Me.OLEObjects MsgBox Ctrl.Name Next Ctrl End Sub
Troisième méthode utilisée :
Puis ici j'obtiens l'erreur de compilation "Membre de méthode ou de données introuvable" et qui me surligne ".Controls"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub CommandButton1_Click() Dim ctl As Control For Each ctl In Me.Controls If TypeName(ctl) = "TextBox" Then MsgBox ctl.Name End If Next ctl End Sub
Merci par avance pour votre aide, car j'ai beau chercher du coté de l'insertion de référence de library, je ne trouve pas la solution (ou pas la bonne?) .
Partager