Uwaga: istnieje nowsza dużo lepsza wersja owej wtyczki. Zobacz nową wersję
W poprzednim wpisie opisałem czym są wiszące spójniki i jak sobie z nimi radzić. Opisałem metodę ręczną i "półautomatyczną". Jednak istnieje fajny sposób na usprawnienie pracy w Wordzie. Otóż możemy "przypiąć" przycisk w którego kliknięcie spowoduje automatyczne usunięcie wszystkich wiszących spójników z dokumentu.
Instalacja makra
Instalacja makra może wydawać się dość skomplikowana, ale na pocieszenie dodam, że robi się to tylko raz. Po zainstalowaniu makra i utworzeniu do niego skrótu wystarczy tylko kliknąć w odpowiedni przycisk, aby uruchomić makro.
Instalacja makra składa się z dwóch etapów: zaimportowania pliku makra do szablonu normal.dotm i (ewentualnie) podpięcia przycisku uruchamiającego makro pod pasek Szybki dostęp (Word 2007) lub (działa w Wordzie 2010 i nowszych) podpięcia pod wstążkę
Zaimportowanie makra do pliku Normal.dotm
Pobierz darmowy pakiet AntyWisielec (wraz z makrem w archiwum znajduje się instrukcja jego instalacji w formacie PDF).
- Rozpakuj pobrane pliki. Znajdź plik mAntyWisielec.bas
- Uruchom MS Word
- Włącz edytor Microsoft Visual Basic (najprościej będzie to zrobić poprzez naciśnięcie kombinacji klawiszy ALT+F11)
- Pojawi się takie okno dialogowe jak poniżej. Okno dialogowe składa się z kilku elementów. Po prawej stronie największą powierzchnię zajmuje okno, w którym wpisuje się kod (treść makra – są tam wpisane „jakieś tajemnicze formuły” – nie przejmuj się tym, że ich nie rozumiesz). Zamiast tego okna ewentualnie możesz nic nie widzieć, tylko szare tło po prawej stronie. Po lewej stronie domyślnie powinny być przylepione dwa okna u góry: Project na dole Properties.

- Jeśli po lewej stronie u góry nie widzisz okna Project (patrz poniższy rysunek), to możliwe, że wcześniej zostało zamknięte. Należy wtedy nacisnąć kombinację klawiszy CTRL+R lub z menu View wybrać opcję Project Explorer

- W oknie dialogowym Project znajduje się „drzewko”. W zależności od tego ile jest otworzonych dokumentów, zainstalowanych dodatków itp. może być w nim więcej bądź mniej „gałęzi”. Ciebie interesuje gałąź o nazwie Normal. Kliknij na nią prawym przyciskiem myszy i z menu kontekstowego wybierz opcję Import File

- Pojawi się okno dialogowe Import File. Odnajdź w nim wcześniej zapisany plik mAntyWisielec.bas i kliknij w przycisk Otwórz
- W oknie dialogowym Project Explorer rozwiń drzewko klikając w plus obok słowa Normal. Powinny się pod spodem pojawić takie foldery jak Microsoft Word Objects, Forms, Modules. Rozwiń folder Modules. W zależności od ilości zainstalowanych dodatków może być tylko jeden moduł (mAntyWisielec) albo kilka. Kliknij dwukrotnie w nazwę modułu mAntyWisielec. Po prawej stronie pojawi się treść napisanego przeze mnie makra (dużo tajemniczych formuł). Nie przejmuj się, że nie rozumiesz „tych formuł”.

- Zamknij edytor Visual Basic kilkając w krzyżyk w prawym górnym rogu programu.
Ufff najtrudniejsze już za Tobą. Teraz powiem co zostało wykonane w tym ćwiczeniu. Otóż znając różne tajemnicze zaklęcia (a dokładniej znając język VBA) napisałem makro, które usuwa spójniki z końca wiersza. Należało to makro jakoś przenieść z mojego do Twojego komputera. W tym celu kod makra wyeksportowałem do pliku o nazwie mAntyWisielec.bas. Ty ten kod podpiąłeś/aś pod swoją wersję Worda (został on podpięty pod globalny szablon Normal.dotm, który ładuje się zawsze, gdy włączasz Worda). Teraz należy to makro podpiąć na wstążkę, lub na pasek Szybki dostęp, aby móc je wygodnie uruchomić.
Jak uruchomić zainstalowane makro
Jeśli chcesz uruchomić makro jednorazowo, to możesz kliknąć na kartę Widok a następnie w dolną część przycisku Makra i z rozwijanego menu wybierz opcję Wyświetl makra (skrót klawiszowy ALT+F8) Pojawi się okno dialogowe Makra. Są tam podane nazwy wszystkich zainstalowanych makr (u Ciebie prawdopodobnie będzie pokazane tylko jedno makro o nazwie AntyWisielec). Zaznacz to makro i kliknij w przycisk Uruchom (na zrzucie ekranu oprócz mojego makra znajduje się jeszcze kilka innych, ale tym się nie przejmuj, Ciebie interesuje tylko makro AntyWisielec, które przed chwilą zainstalowałeś).

Makro zostało uruchomione. W zależności od długości dokumentu, szybkości komputera będzie ono „mieliło” kilka, bądź kilkanaście sekund a na końcu wyświetli komunikat o następującej treści:

Uwaga: ponieważ usuwanie wiszących spójników może spowodować ewentualne efekty uboczne (np. uszkodzić dokument) a opcja CTRL+Z nie działa w przypadku zmian dokonanych przez makra, więc makro tworzy kopię pliku. Plik jest zapisywany w tym samym folderze, co oryginalny plik a do nazwy jest „doczepiana” końcówka _kopia_<data>_<godzina> np. kopia pliku o nazwie spójniki.docx została zapisana pod nazwą spójniki_kopia_2013-01-26_19-51-44.docx.
Uwaga: autor makra nie ponosi odpowiedzialności za ewentualne efekty uboczne. Dlatego przed uruchomieniem makra na dłużej sporządzanym dokumencie upewnij się, że posiadasz jego kopię, gdyż nie mam 100% pewności, że makro za każdym razem bezproblemowo zapisze kopię.
Podpięcie przycisku makra na pasku Szybki dostęp
Office 2007 nie pozwala na dodawanie własnych przycisków „na wstążkę”. Jednak można dodać przycisk uruchamiający nasze makro na pasku szybki dostep. Aby to zrobić należy wykonać następujące czynności:
- Na pasku szybki dostęp kliknij w strzałkę w dół, aby rozwinąć menu

- Z menu rozwijanego wybierz pozycję Więcej poleceń…
- Pojawi się okno dialogowe Opcje programu Word. W polu rozwijanym Wybierz polecenia z: wybierz Makra. Następnie pod spodem pojawi się wykaz wszystkich makr. W zależności od tego ile ich było zainstalowanych będzie tylko jedno makro, albo kilkanaście. Zaznacz odpowiednie makro tj. Normal.mAntyWisielec.AntyWisielec i kliknij w przycisk Dodaj>>
Wskazówka: Pewnie się zastanawiasz skąd, taka dziwna nazwa? Otóż Normal to nazwa pliku, w którym jest zainstalowane makro (Normal.dotm, czyli domyślny plik szablonu, który włącza się wraz ze startem Worda), mAntyWisielec to nazwa modułu (tak się nazywał plik, który był importowany) a AntyWisielec to nazwa procedury (makra).

- Makro powinno przeskoczyć „na prawą stronę”. Zaznacz je i kliknij w przycisk Modyfikuj.
- Pojawi się okno dialogowe Modyfikowanie przycisku. Wybierz odpowiednią ikonę, która będzie się Tobie kojarzyła z makrem. W polu Nazwa wyświetlana wpisz jakąś przyjazną nazwę np. AntyWisielec. Kliknij w przycisk OK

- Wróciłeś do okna dialogowego Opcje programu Word. Kliknij w przycisk OK.
- Gratulacje, na pasku szybki dostęp pojawiła się nowa ikona. Teraz wystarczy tylko w nią kliknąć, aby uruchomić makro!
Dodanie przycisku uruchamiającego makro "na wstążkę" (Word 2010 i nowsze)
Jedna z nowości w pakiecie Office 2010 to możliwość dodawania na wstążkę własnych przycisków.
- Kliknij prawym przyciskiem myszy „na wstążce” i z menu rozwijanego wybierz pozycję Dostosuj wstążkę
- Pojawi się znane okno dialogowe Opcje programu Word
- W polu Wybierz polecenia z: wybierz Makra. Następnie po prawej stronie rozwiń kartę Narzędzia główne (gdyż przycisk będziemy chcieli dodać na karcie Narzędzia główne). Ponieważ nie można dodawać swoich przycisków do grup już wcześniej zdefiniowanych (np. Schowek, Czcionka, Akapit, Style, Edytowanie), więc należy utworzyć nową grupę niestandardową. Aby to zrobić kliknij poniżej w przycisk Nowa grupa.Pojawi się nowa grupa o nazwie Nowa grupa. Kliknij na nią prawym przyciskiem myszy i z menu rozwijanego wybierz pozycję zmień nazwę i ustaw jej pożądaną nazwę np. Moje przyciski. Następnie po lewej stronie zaznacz odpowiednie makro tj. Normal.mAntyWisielec.AntyWisielec i kliknij w przycisk Dodaj>>

- Makro powinno przeskoczyć „na prawą stronę”. Zaznacz je i kliknij w przycisk Modyfikuj.
- Pojawi się okno dialogowe Modyfikowanie przycisku. Wybierz odpowiednią ikonę, która będzie się Tobie kojarzyła z makrem. W polu Nazwa wyświetlana wpisz jakąś przyjazną nazwę np. AntyWisielec. Kliknij w przycisk OK

- Wróciłeś do okna dialogowego Opcje programu Word. Kliknij w przycisk OK.
- Na wstążce na karcie Narzędzia główne na samym końcu po prawej stronie powinna się pojawić nowa grupa o nazwie Moje przyciski a wewnątrz niej jeden przycisk o nazwie AntyWisielec uruchamiający odpowiednie makro).

Tuningowanie makra :
Dla niektórych makro może być zbyt dokładne. Otóż makro wstawia twarde spacje po następujących spójnikach/przyimkach/tytułach naukowych:
do, za, od, na, po, o, u, z, w, bez, pod, nad, znad, poprzez, sprzed, zza, a, i, oraz, albo, bądź, czy, lub, ani, ni, ale, lecz, zaś, czyli, przeto, tedy, więc, zatem, mgr, inż., dr, lek., dent., mjr, gen, hab., prof., zw., ndzw., lic., ppor, pplk, ja, ty, my, wy, oni, one, mój, twój, nasz, wasz, ich, jego, jej, ten, ta, to, tamten, tam, tu, ów, tędy, taki, ci, tamci, owi, razy, tylko, nie, by, niech, niechaj, tak, bodaj, oby, zm., zam., ur., Windows, rok
a także przed następującymi partykułami i jednostkami miar
się, no, cl, cm, dl, dm, g, hl, sk, kg, km, ks, l, m, mg, ml, mm, t, zł, gr
Jeśli uważasz, że makro obsługuje zbyt wiele „spójników” (np. chcesz zostawić tylko jednostki miary tytuły naukowe i jednowyrazowe spójniki a przyimki typu niechaj, bodaj, nasz, twój itp. niech ignoruje to musisz ręcznie zmodyfikować makro („wyedytować formuły”). Owa czynność nie wymaga zbyt dużych umiejętności programistycznych. Wystarczy postępować zgodnie z poniższymi wskazówkami:
- Uruchom edytor Visual Basic (ALT+F11)
- W oknie Project (jeśli go nie ma wybierz z menu View opcję Project Explorer)

- W oknie Project jest „drzewo projektu” rozwiń gałąź Normal następnie Modules i kliknij dwukrotnie w mAntyWisielec
- Po prawej stronie pojawi się okno zawierające kod makra (tajemnicze formuły)
- Odnajdź ciąg znaków 'SPACJA NIEPODZIELNA PRZED
- Zaraz za tym ciągiem znaków są wpisane wszystkie „zawieszki”, przed którymi ma być wstawiona twarda spacja np.
Partykuly = "się|no"
JednostkiMiary = "cl|cm|dl|dm|g|hl|sk|kg|km|ks|l|m|mg|ml|mm|t|zł|gr"
Możesz dopisać własne np. jednostki miary. Każda jednostka miary jest od poprzedniej oddzielona znakiem | (shift+\). Możesz również usunąć nadmiarowe jednostki miary
- Nieco niżej są podane „zawieszki”, po których ma być wstawiona twarda spacja
'spójniki
Spojniki = "do|za|od|na|po|o|u|z|w|bez|pod|nad|znad|poprzez|sprzed|zza"
[…]
(i kilka podobnych linijek)
Tutaj również możesz dopisać własne, usunąć nadmiarowe, rozdzielając je znakiem |
Uwaga: wszystkie „zawieszki” muszą być w cudzysłowie. Jeśli „coś zepsujesz” to wyskoczy komunikat błędu a edytor podkreśli linijkę na czerwono. Wtedy naciśnij CTRL+Z, aby wrócić do punktu wyjścia i ponownie spróbuj coś zmienić.
Zapisz projekt klikając w ikonę dyskietki na pasku narzędzi, lub naciśnij kombinację klawiszy CTRT+S.
Wady makra
Owe makro ma kilka wad:
Może "rozwalić" ładnie sformatowany tekst
Jeśli tekst został ładnie sformatowany i mieści się np. idealnie na jednej stronie, to może się okazać, że po uruchomieniu makra tekst się nieznacznie rozciągnie i np. jedna linijka „ucieknie” na drugą stronę. Jest to spowodowane faktem, że skoro spójniki idą do nowej linii a w nowej linii jest np. tekst „upchany” idealnie do prawego marginesu, to długość akapitu może się rozciągnąć o jedną linijkę. To z kolei może spowodować przesunięcie się kolejnych akapitów „w dół”.
Owa usterka nie występuje zbyt często, ale po uruchomieniu makra warto jest sprawdzić, czy dokument wygląda tak jak powinien.
Wyjustowany tekst wygląda brzydko
Niestety, ale „twarda spacja” ma stałą szerokość. Gdy tekst nie jest justowany, to wszystko jest w porządku. Natomiast, gdy się justuje tekst, to zwykłe spacje są „rozszerzane” a twarde spacje mają zawsze ten sam rozmiar i są wąskie.
Oto przykładowy tekst przed uruchomieniem makra

Oto przykładowy tekst po uruchomieniu makra

Obecnie nie ma sposobu na rozwiązanie tego problemu.
Otworzyłem artykuł w nadziei, że może znajdę tutaj rozwiązanie problemu z "nierozszerzalną" twardą spacją, która przy justowaniu tekstu wygląda po prostu okropnie. Niestety tylko potwierdziłem swoje obawy, że przynajmniej w Wordzie problem jest do rozwiązania.
Dobrze, że artykuł wspomina o tym problemie – większość porad mających na celu usuwanie "sierotek" całkowicie o nim zapomina.
Dziękuję!
Dla wszystkich potrzebujących "prostego rozwiązania"
Ctrl + H
szuakj:" ([aAwWzZiIoOuU]) "
zamień na " 1\^s"
Zaznaczamy "użyj symboli wieloznacznych"
Zamień wszystko
Gotowe
Też zostawia nierozszerzalne twarde spacje.
Metoda doskonała tylko jest "czeski" błąd w linijce "zamień". Powinno być:
Ctrl+H
Znajdź: spacja([aAwWzZiIoOuU])spacja
Zamień: spacja\1^s
Zaznaczamy "użyj symboli wieloznacznych"
"Zamień wszystko"
i zadziała 😉