Word for Windows i makroinstrukcje

Podczas pracy z edytorem tekstowym niezwykle przydatną umiejętnością jest używanie makroinstrukcji. Jednakże same makroprogramy nie ułatwiają zbytnio pracy, o ile nie są przypisane do pewnej kombinacji klawiszy. Dopiero wówczas ich uruchamianie jest na tyle szybkie, że satysfakcjonuje użytkownika.

Podczas pracy z edytorem tekstowym niezwykle przydatną umiejętnością jest używanie makroinstrukcji. Jednakże same makroprogramy nie ułatwiają zbytnio pracy, o ile nie są przypisane do pewnej kombinacji klawiszy. Dopiero wówczas ich uruchamianie jest na tyle szybkie, że satysfakcjonuje użytkownika.

Microsoft Word for Windows - jeden z najpopularniejszych procesorów tekstu tego środowiska - ma, o czym nie wszyscy wiedzą, bardzo bogate możliwości definiowania sekwencji klawiszy, a ponieważ są one słabo udokumentowane w firmowej instrukcji obsługi, spróbujemy je przybliżyć, opierając się na wskazówkach, jakich udziela Brian Livingston w swej książce "Windows 3 Secrets"*.

Zgodnie z nimi, aby przypisać jakieś makropolecenie do dowolnej kombinacji klawiszy musimy najpierw zredagować krótki programik w WordBasicu, który będzie to za nas robić, a następnie go wykonać.

Piszemy program

Wybieramy opcję Edit/Macro, wpisujemy AutoAssignToKey jako nazwę, a potem pamiętając o tym, aby odhaczyć opcję Global, klikamy Edit.

Pojawia się okienko edycyjne zawierające tylko trzy linie:

Sub MAIN (pusta linia) End Sub

musimy je zatem uzupełnić do następującej postaci:

'AutoAssignToKey Macro - 1991 Brian Livingston 'This macro requests the name of a macro and the key to assign it to at the global level.

Sub MAIN On Error Goto BYE name$=InputBox$("Type the name of the macro you want to assign to a key") number$=InputBox$("Type the number of a key from Winword Technical Reference") num=Val(number$) If num < 8 Or num > 1919 Then Beep 1 MsgBox "Number of the key must be 8 to 1919" Else MacroAssignToKey name$, num, 'assign macro to key at global (0) level Endif BYE: End Sub

Po skończeniu edycji zamykamy okienko zachowując jego zawartość. I gotowe.

Polecenie, występujące poniżej Sub Main oznacza, że w przypadku, gdy zostanie wciśnięty klawisz Esc (lub przycisk Cancel) programik kończy swoją pracę przechodząc do przechodz instrukcji BYE, czyli do ostatniej linii.

Kolejne dwie komendy powodują ukazanie się okienek dialogowych opatrzonych tekstami zachęty w nawiasach, a następnie pobierają z nich dane wpisane przez użytkownika i przypisują je do zmiennych. Czwarta linia zaś przekształca napis np. 1234 na wartość (w komputerach rozróżniamy bowiem znaki alfanumeryczne - cyfry, litery itp. oraz ich wartości, na których wykonywane są działania). Tak naprawdę zasadniczą częścią programu jest instrukcja występująca po Else, gdyż to ona właśnie przypisuje makropolecenie do odpowiedniego kodu klawiatury.

Wyjaśnienia wymaga sposób działania konstrukcji IF..THEN..ELSE..ENDIF, który może być trochę niezrozumiały dla osób w niewielkim stopniu obeznanych z językami programowania. Jest to często spotykany przypadek polecenia warunkowego, którego człony są realizowane zależnie od prawdziwości zapisu zawartego między IF i THEN. W naszym programiku pełnią one rolę zabezpieczającą przed wprowadzeniem błędnego kodu klawiszy, który musi się zawierać pomiędzy 8 a 1919.

Teraz, w zasadzie, moglibyśmy już przystąpić do definiowania klawiszy uruchamiających nasze makroinstrukcje. Pozostaje jedynie kwestia kodów.

Kody klawiszy

Każdy pojedynczy klawisz, lub ich kombinacja w Word for Windows, podobnie jak w większości programów, ma swój odpowiednik liczbowy. Gdy wciskamy go łącznie z innym klawiszem ich kody sumują się, dając w ten sposób łatwo rozpoznawalny sygnał, co zostało wciśnięte. Znając tę zasadę można bez problemu obliczyć kod określający zaplanowaną przez nas kombinację klawiszy i wpisać go w stosowne okienko.

I tak np. wciśnięcie Ctrl (256) z klawiszem BkSp (8) będzie miało kod 256+8=264. Jeśli miałby być wciśnięty do tego jeszcze Shift (512) i Alt (1024), to nasz kod wyniósłby 256+512+1024+8=1800. Informację o kodach klawiatury można znaleźć np. w książce Briana Livingstona "Windows 3 secrets" (str. 248).

I to, w zasadzie wszystko. Sądzę jednak, że większości czytelników przyda się jeszcze nieco uwag praktycznych.

Rady

Planując "podczepienie" własnych makroprogramów do klawiatury powinniśmy wykazać nieco rozsądku i nie używać kombinacji Ctrl oraz Ctrl+Shift łącznie z (-) myślnik i (=) (równa się), gdyż są one wykorzystywane wewnętrznie przez edytor, a także nie redefiniować innych znaków używanych podczas wydruku, gdyż może to zakłócić prawidłowe funkcjonowanie edytora. Ale nie musi tak być w każdym przypadku.

Wiele można się dowiedzieć przeglądając fabrycznie przygotowane pliki, takie jak np. EXAMPLES.DOC, w którym jeśli klikniemy Macro Edit możemy się zapoznać z makroinstrukcjami Enable Smart Quotes i Disable Smart Quotes, dającymi się nota bene zamontować kliknięciem polecenia Install.

Ogólnie rzecz ujmując, najkorzystniej używać Ctrl+Shift z klawiszami alfanumerycznymi, gdyż nie są one wykorzystywane przez Windows. Jedynym wyjątkiem jest Ctrl+Shift+8 uruchamiające funkcję Show All w Winword.

Dobre są również kombinacje Ctrl+Alt+litera lub klawisz funkcyjny. Pamiętajmy jednak, że Winword ma wstępnie zdefiniowane Ctrl+Alt+F1 (Lock Field) oraz Ctrl+Alt+F2 (File Open), Ctrl+Alt+Del powoduje restart komputera, Windows używa Alt+F1 i Alt+F2 do symulacji naciśnięcia F11 i F12 w starszych typach , a "gorące klucze" Edit Undo i Edit Repeat nie są redefiniowalne.


TOP 200