IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Comment accéder au texte d'un Wordart


Sujet :

VBA Word

  1. #1
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut Comment accéder au texte d'un Wordart
    Bonjour

    Je travaille avec Word 2010, et je souhaite accéder au texte d'un Wordart, par exemple pour l'afficher.

    Le code suivant fonctionne bien pour un type TextBox, mais ne donne rien s'il s'agit d'un Wordart (ou bien une erreur 5917 si je retire "On error resume next").
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub demo()    
        On Error Resume Next
        For Each forme In ActiveDocument.Shapes
            MsgBox forme.TextFrame.TextRange.Text
        Next
    End Sub
    Quelle est la subtilité que j'ai loupée ? (Et pourtant, j'ai fait des heures de recherche )

    Merci !
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  2. #2
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Salut Pomalaix,

    Je viens de partir d'un fichier Word vierge (Word 2010), j'ai inséré du texte, 2 zones de texte et 1 Word Art. Puis j'ai copié ta macro. Pas de pb, elle m'affiche bien le contenu des 2 zones puis du Word Art (sans rien changé à ta macro). Peux-tu essayer avec ce fichier (que je te joins) pour voir, d'abord en mode "Pas à pas" <F8>.

    @+

  3. #3
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Merci beaucoup pour cette validation, c'est très précieux !

    Je suis certain que mes objets problématiques sont bien des Wordart (la propriété type le confirme), mais ils sont peut être intégrés à des groupes ou une blague du même genre.
    Je dois malheureusement me consacrer à d'autres priorités, mais je reviendrai mettre la discussion à jour à l'occasion.

    Encore merci !

    Pom'
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  4. #4
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Bonjour Pomalaix,

    Voici le code que j'utilise pour faire ce que tu souhaites faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        Dim monDoc As Word.Document
        Dim rngContenu As Word.Range
        Dim typeShape As Word.InlineShape
        Dim s As String
     
        Set monDoc = ActiveDocument
        Set rngContenu = monDoc.Content
        For Each typeShape In rngContenu.InlineShapes
            If typeShape.Type = 3 Then
                MsgBox (typeShape.TextEffect.Text)
            End If
        Next
    En espérant que ce soit ce que tu voulais?

    Bonne chance!

    Souriane
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

Discussions similaires

  1. Comment accéder à un fichier texte en vb6 pour le modifier ?
    Par Ange_1987 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/04/2009, 17h36
  2. Comment accéder un élément dans un texte inclus
    Par lvr dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/11/2007, 22h43
  3. comment inserer du texte?
    Par bakonu dans le forum OpenGL
    Réponses: 2
    Dernier message: 29/04/2004, 13h32
  4. comment ecrire du texte dans une window application
    Par gaut dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 16/07/2003, 10h23
  5. Comment centrer un Texte dans un rectangle ...
    Par Djedjeridoo dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2003, 21h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo