poniedziałek, 25 marca 2013

MS Word- liczba słów w dokumencie odpowiadających formatowaniu

Jakiś czas temu pomagałem jednemu z forumowiczów rozwiązać problem zliczania słów, które spełniają określone kryterium formatowania. Makro miało działać dla dużego dokumentu liczącego kilkadziesiąt stron, miało być oczywiście stworzone dla Worda.
Jak to zrobić?? Jeżeli pierwszą myślą jest 'pętla dla każdego słowa' to powiem ok, taka była też pierwsza myśl pytającego. Nie mniej dla 50 stron działało to dość długo, a w dodatku nie przynosiło oczekiwanych rezultatów. Lepszym rozwiązaniem jest wykorzystać owo 'A w VBA' (o czym piszę osobno) czyli sięgnąć po mechanizm 'Szukaj'.
Poniżej gotowy kod dla bieżącego dokumentu liczący słowa pogrubione i (standardowo) podkreślone oraz nie wyróżnione kolorem. Inne opcje wyszukiwania mogą zostać zastosowane przez analogię.

Osobom początkującym zwrócę uwagę na nieskończoną pętlę Do Loop- proszę pamiętać, że taka konstrukcja jest możliwa o ile gdzieś w kodzie, w celu uniknięcia nieskończonego zapętlenia, występuje parametr kończący działanie pętli Exit Do.

Brak komentarzy:

Prześlij komentarz