Accèder à un formulaire de Words à partir d'Excel

Bonjour,

J'ai des words qui m'arrivent et je veux me faire un script VBA pour les compiler dans un Excel. Vu que ce word a été étrangement fait (certainement un copier collé d'un formulaire HTML), j'ai dû lutter pour y accéder, mais j'ai maintenant un code qui fonctionne :

Sub traiterFormulaire()
    Dim nombre
    'Dim iShape As InlineShapes
    nombre = Application.ActiveDocument.InlineShapes.Count
    Dim var As InlineShapes
    Dim iShape
    For Each iShape In Application.ActiveDocument.InlineShapes
        Debug.Print iShape.OLEFormat.Object.Selected
        Debug.Print "d"
     'var = iShape
     'var.ConvertToShape
    Next iShape

    MsgBox "coucou"

End Sub

Pour cela, il doit être dans "Microsoft World Object>ThisDocument". Je ne sais pas comment faire pour qu'il fonctionne aussi dans "Normal>Module de classe", et je suppose que c'est à l’origine du problème :

Dans Excel, j'ai mis en place une routine qui parcours tous les docx du répertoire, et qui accède au différents Words.

Cela fonctionne, il m'ouvre bien le premier document, arrive à me dire qu'il y a 12 combobox dans le document, sauf que

iShape.OLEFormat = Nothing

Le code est plus précisément celui-ci :

    Set objShell = CreateObject("WScript.Shell")
    myCur = objShell.CurrentDirectory

    dossier = myCur & "\*.docx"
    i = 0
    fichier = Dir(dossier)

    Do While fichier <> ""
        i = i + 1
        Set objDoc = objWord.Documents.Open(myCur & "\" & fichier)
        objWord.Visible = True
        Call traiterFormulaire(objDoc)

        [...]

et le traiterFormulaire() du dessus.

Vous auriez une idée ? Merciiiiiiiiiiiiiiii !

Bonjour,

S'il s'agit de contrôles de formulaire, vous n'utilisez pas la bonne collection (InlineShapes). Il faut utiliser la collection "Fields" et la classe "Field" associée.

Rechercher des sujets similaires à "acceder formulaire words partir"