2017-08-27 1 views
2

Dans Word 2016, il existe déjà l'option intégrée "Sélectionner toutes les instances de style". Voilà comment cela fonctionne:Macro pour sélectionner le bloc de texte avec le même style

enter image description here

Je veux mettre en œuvre quelque chose de similaire avec VBA. Il devrait sélectionner un seul bloc de texte. Le seul, dans lequel le curseur de l'utilisateur est actuellement situé. Par exemple, si caret situé quelque part près Bar(), le résultat devrait être:

enter image description here

Il sera très utile pour sélectionner (et copier/couper) grands blocs de code dans les documents.

Des idées comment cela pourrait-il être fait? (Je sais, Stack Overflow n'est pas un "service de codage gratuit", et c'est une bonne pratique de montrer du code qui fonctionne partiellement, comme preuve de vos propres efforts.) Cependant, c'est aussi un peu difficile d'entrer dans VBA. "à partir de zéro", parce que je n'ai jamais travaillé avec lui.J'ai seulement JavaScript dans ma pratique précédente).

Répondre

1

Appuyez sur Alt + F11 pour ouvrir Visual Basic Editor

puis choisissez Insérer> Nouveau module

coller le code suivant:

Sub myMacro1() 
    WordBasic.SelectSimilarFormatting 
End Sub 

Note: Ceci est pour le bureau 2007, pas sûr C'est la même chose dans Word 2016. Si vous pouvez faire quelque chose à partir des menus .. vous pouvez essayer d'enregistrer une macro (à partir de l'onglet Développeur) et voir les codes générés automatiquement par mot pour les personnaliser.

+0

Salut. Cela fonctionne dans Word 2016, mais il sélectionne toutes les instances de style, comme montré dans ma 1ère image. Ce n'est pas ce que je veux. Le résultat souhaité est montré dans ma 2ème photo. Là, le seul bloc de code est sélectionné, tandis que deux autres restent non sélectionnés. – jsv

+0

Je n'ai pas assez de temps en ce moment, mais je suggère de vérifier les méthodes 'selection',' Selection.Paragraphs (1) .Range', GoTo ... https://msdn.microsoft.com/fr-fr/vba/word-vba/articles/selection-objet-mot –