Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2012, 15h22   #1
Invité de passage
 
Inscription : février 2008
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2008
Messages : 19
Points : 1
Points : 1
Envoyer un message via MSN à diombo
Par défaut initialiser les contrôles d'un document word

Bonjour,
Je cherche désepéremment comment initialiser les contrôles (activeX) qui sont présents dans un document word.
Il ne sagit pas ici de la collection fields, ni d'une collection controls dans une userform, mais d'une collection de controls dans un formulaire word.

Concrétement, je cherche l'équivalent de ce code (dans le cadre d'un user form) pour un document word (fichier.doc - office 2007 )

Code :
1
2
3
4
5
6
7
8
9
10
' vider les contrôles pour la saisie
Dim ctl As Control
For Each ctl In Me.Controls   ' où Me devra indiquez le document word courrant (thisDocument)
    Select Case Left(ctl.Name, 2)
        Case "tx" ' si le contôle est une zone de texte
            ctl.Value = ""
        Case "ls" ' si le contrôle est une liste déroulante
            ctl.Value = Null
    End Select
Next ctl
Remarque : le code ci-dessus fonctionne correctement dans le cas d'un userform
Par avance, je vous remercie
Cordialement
diombo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 20h41   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 345
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 345
Points : 29 255
Points : 29 255
Salut,

Ce ne sont pas des contrôles Word, mais des éléments externes.
C'est un peu comme une image.

Il faut vérifier pour chaque Inlineshape le type et si c'est un WdInlineShapeOLEControlObject; on se trouve face à un controle ActiveX

Code :
1
2
3
4
Dim inS As InlineShape
For Each inS In ActiveDocument.InlineShapes
if inS.Type = WdInlineShapeOLEControlObject then MsgBox "ActiveX"
Next inS
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 11h26   #3
Invité de passage
 
Inscription : février 2008
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2008
Messages : 19
Points : 1
Points : 1
Envoyer un message via MSN à diombo
Merci pour votre réponse;
Je l'ai testé et ça marche. Cependant, je n'arrive pas à trouver le name pour faire des traitements suivant le nom.
Visiblement la propriété name n'existe pas (jai regarder sur Word Developer Reference).
Je me demande si c'est une bonne idée de faire un questionnaire word avec des contrôles activeX car la finalité après c'est de parcourir les objets du document word pour les insérer dans une base de données.
Merci
diombo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 15h02   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 345
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 345
Points : 29 255
Points : 29 255
Salut,

c'est une question de goût, mais pour un questionnaire, je préfère de loin utiliser les contrôles hérités qui sont plus simples à mettre en oeuvre et à utiliser.

De plus, lors de la sauvegarde, on peut ne garder que les données.

http://heureuxoli.developpez.com/off...d/formulaires/

http://heureuxoli.developpez.com/office/sondage/
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h30.


 
 
 
 
Partenaires

Hébergement Web