Ouvrir une équation sélectionnée dans une macro Word

Borrull Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
Borrull Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

J'aimerais si possible disposer d'une macro qui, lorsqu'une équation de l'éditeur est sélectionnée, l'ouvre et la referme.

Et si possible aussi, qui parcourt ainsi toutes les équations du document...

mais quand je suis en mode "enregistrement", je ne peux pas ouvrir les équations. J'aurais donc besoin d'une instruction particulière, si ça existe...

Merci pour votre aide.

A voir également:

8 réponses

m@rina Messages postés 23882 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 

Bonjour

TU ne dis pas quelle est ta version.

Est-ce que la fonction de recherche ne suffirait pas ?

m@rina


0
Borrull Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour,

ll s'agit de Word 2007.

Rechercher, oui mais quoi ?

Et ensuite, comment ouvrir en VBA ?

Merci !

0
m@rina Messages postés 23882 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 

Bonjour 

Je n'ai plus la version 2007 qui a quand même beaucoup de différences avec les versions suivantes, et je ne suis pas certaine qu'on puisse chercher les équations qui étaient faites, si mes souvenirs sont bons, avec un ancien éditeur d'équations.

Actuellement, la recherche peut se faire via le volet de navigation. Pas sûr du tout que ce fut ainsi avec 2007.

Quant à la macro, je ne vois pas très bien ce que tu veux en faire. TU dis il faut que la macro ouvre puis ferme l'équation. Si tu écris une telle macro, il ne va rien se passer ! ça va durer trois secondes, le temps que la macro sélectionne, ouvre puis ferme chaque équation, mais rien d'autre. Quel est le but ?

Essaie déjà de lancer la macro suivante et dis nous si tu as un résultat. ça doit te donner le nombre d'équations de ton document. Si tu as une erreur, c'est que Word 2007 ne sait pas faire ça.

Sub eq()
Dim nb
nb = ActiveDocument.Range.OMaths.Count
MsgBox nb
End Sub

m@rina


0
brucine Messages postés 21694 Date d'inscription   Statut Membre Dernière intervention   3 427
 

Bonjour,

Word 2007 utilisait en effet encore de mémoire Microsoft Equation 3.0

Il semble aussi comme tu le dis que la manière d'y référer dans une macro soit différente, voir là si le coeur t'en dit, je suis fâché avec les macros:

https://stackoverflow.com/questions/20632270/how-to-find-equation-editor-in-word-document-using-vba

0
Borrull Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour,

La macro renvoie le résultat 0.

Car j'utilisais alors l'éditeur d'équation de Microsoft, qui est une version allégée de MathType.

Dans ces anciens documents, les équations ne sont plus alignées avec le texte. Mais j'ai remarqué qu'en les ouvrant puis les refermant, elles se replaçaient correctement. D'où l'idée d'automatiser cette tâche. Car j'ai des centaines de pages avec des dizaines d'équations dans chaque page...

Merci pour ton aide.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
m@rina Messages postés 23882 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 

Tu peux donner un petit extrait du document avec 2 ou 3 équations, qu'on regarde de plus près ?

m@rina


0
Borrull Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 

oui voilà.

http://paquito.amposta.free.fr/Etude.docx

Après chaque équation, le curseur est en position décalée vers le bas.

Après sélectionner tout>Police>Espacement>Position>Normale, elles sont toutes décalées vers le haut.

Et là, en les ouvrant et les refermant, elles reviennent à la position normale.

Merci...

0
m@rina Messages postés 23882 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 

Re...

effectivement, tes équations ont été créées avec l'éditeur d'équations 3.0 qui n'est plus pris en charge. Et comme je n'ai plus d'anciennes versions de Word, je n'ai plus cet éditeur qui a été retiré pour des questions de sécurité.

Donc, je ne suis pas étonnée que ma macro te donne 0, car OMaths ce n'est pas pour ton vieil éditeur d'équations.

Désolée, je ne peux donc rien faire pour toi.

m@rina

0
Borrull Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   > m@rina Messages postés 23882 Date d'inscription   Statut Contributeur Dernière intervention  
 

Tant pis, ce n'est pas grave.

Merci d'avoir pris le temps d'étudier ma question.

Paquito.

0
Borrull Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 

Il y a peut-être moyen de faire quelque chose avec ça, mais je ne m'y connais pas assez en programmation :

Sub Sample()
    Dim eqns As OMath

    For Each eqns In ActiveDocument.OMaths
            '
            '~~> Rest of the code
            '
        End With
    Next
End Sub

0
Borrull Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 

Et si, au lieu de chercher spécifiquement une équation, je cherchais les objets OLE ?

0