PC World
czwartek 4 grudnia 2008
Wydanie: Luty 2008

Archiwum

Interfejs na życzenie

A A A rozmiar czcionki
Począwszy od wersji 97 aż do 2003, wszystkie kolejne pakiety Office pozwalały użytkownikom pisać własne makra za pomocą Visual Basic for Applications i przyporządkowywać je przyciskom dodatkowego lub jednego z ogólnych pasków narzędzi. Zwiększało to elastyczność pakietu - przycisk uruchamiający makro można było wstawić gdziekolwiek, przyporządkować mu napisaną funkcję i ozdobić dowolną ikoną.


W Office 2007 trochę się zmieniło. Nadal akceptowane są makra w VBA, ale pojawiły się ograniczenia dotyczące położenia i znaku graficznego przycisku, który można im przyporządkować. Stare menu i paski narzędzi, zaprojektowane do poprzednich wersji Office, zostaną wrzucone bezładnie na kartę Dodatki na wstążce menu z nowego pakietu razem ze swoimi ikonami. Co więcej, przyciski do nowych makr, rejestrowanych za pomocą tego samego mechanizmu, mogą się standardowo znaleźć tylko w dwóch miejscach - na wspomnianej karcie, albo na pasku Szybki dostęp. Na dodatek ikony do ich wyróżniania trzeba wybrać z niezbyt długiej listy, nie można już ozdabiać przycisków za pomocą własnej fantazji.

Aktualizacja

W momencie zastępowania starszego Worda wersją 2007 szablony zawierające makra zapisują się w plikach z rozszerzeniem .dotm zamiast .dot. W istocie są to dane skompresowane według formatu ZIP, w których paski narzędzi razem z przyciskami zostają zachowane w pliku attachedtoolbars.bin, a ich kod jest umieszczony w vbaproject.bin. Zwykle stare paski i przyciski lądują na karcie Dodatki, ale dużo lepsza byłaby możliwość umieszczania ich tam, gdzie jest poręczniej, w innych częściach menu. Pokażemy, jak zmienić ich lokalizację, jak wykorzystywać do tego XML i wyspecjalizowany edytor i jak dobierać się do składników plików typu DOTM.

Kliknij, aby powiększyćNietypowe makro bez żadnych sztuczek może być przypięte tylko w dwóch miejscach. Albo na pasku szybkiego dostępu w prawym górnym rogu menu, albo na karcie Dodatki.
Schemat wstążkowego menu RibbonX, którego będziemy używać, jest stosunkowo prosty, ale wymaga przestrzegania kilku reguł. Struktura liczy trzy poziomy: przyciski (Button), ich grupy (Group), takie jak Schowek w Narzędziach głównych, wreszcie sama karta (Tab). Aby dodać jeden z tych elementów bezpośrednio do wstążki, wystarczy go nazwać, nadać mu identyfikator i etykietę. Jeśli grupa lub przycisk mają być ulokowane o poziom niżej i stać się składnikiem już istniejącej karty - należy użyć jej atrybutu idMso. Chcąc dodać nową grupę czy przycisk i umieścić je w wybranym miejscu, przed lub za innymi elementami menu, należy wykorzystać atrybut insertBeforeMso lub insertAfterMso. Identyfikatory idMso wszystkich przycisków, grup i kart w całym pakiecie Office 2007 są opublikowane w postaci skoroszytów Excela i można je pobrać ze strony
www.microsoft.com/downloads/details.aspx?familyid=4329d9e9-4d11-46a5-898d-23e4f331e9ae&displaylang=en#filelist . Te same identyfikatory służą do ponumerowania ikon na przyciskach, można je także wykorzystać w razie potrzeby.

Prawie wszystko

Jeśli w poprzedniej wersji projekt był szablonem Worda 2000 czy 2003, który zawierał kod makra i skojarzony z nim pasek narzędzi z przyciskiem, wystarczyło wstawić ten szablon do folderu Startup, skąd będzie się ładował za każdym razem w momencie uruchomienia programu. Folder startowy Worda zwykle jest zlokalizowany w katalogu %APPDATA%\MICROSOFT\WORD\STARTUP.

Starsze wersje makr będą pracować z Wordem 2007, ale ich przyciski z paska zostaną wepchnięte na kartę Dodatki. Przypuśćmy, że nasze makro ma coś wspólnego ze wstawianiem i dlatego chcemy je przenieść w bardziej stosowne miejsce, na kartę Wstawianie, np. do nowo utworzonej sekcji między Strony i Tabele. Oto stosowny kod w XML-u:

<tab idMso="TabInsert">
..<group id="Extra_Grupa"
label="Extra_Grupa" ........
insertAfterMso="GroupInsertPages">
<button id="Logo_PCWK"
label="Logo_PCWK"
size="large"></buton>

W tym fragmencie kodu definiujemy nową grupę, nazwaną ="Extra_Grupa", na karcie Wstawianie (TabInsert) określamy jej położenie na wstążce (za grupą Strony), żądamy przycisku dużych rozmiarów i nazywamy go ="Logo_PCWK". Dla jasności nie ma reszty pliku, ale na pewno zrozumieliście, o co chodzi.

Kliknij, aby powiększyćJawna część kodu otrzymanego za pomocą Custom UI Editor. Aplikacja nie tylko umieszcza poszczególne składniki pliku w odpowiednich miejscach, ale także dodaje ilustracje, sprawdza poprawność składni i generuje nagłówek do makra.
Można napisać te polecenia XML za pomocą dowolnego edytora tekstu, chociażby Notatnika, ale sztuka polega na dostaniu się do wnętrza pakietu skompresowanego w formacie ZIP, którym w rzeczywistości jest szablon typu DOTM. Można to zrobić ręcznie, zamieniając rozszerzenie pliku z DOTM na ZIP, następnie otworzyć, wykreować wewnątrz nowy folder, wstawić do niego plik customui.xml oraz wyedytować plik _rels\rels.xml, żeby dołączyć tam relację do nowego pliku. Można także wykorzystać narzędzie pobrane spod adresu openxmldeveloper.org/archive/2006/05/26/CustomUIeditor.aspx , które pozwoli zrobić to wszystko, a nawet jeszcze więcej.

Wyręka i podpowiadacz

Otwórz dokument Worda 2007 albo szablon, korzystając z tego narzędzia i będziesz mógł napisać lub wstawić gotowy customui.xml w odpowiednie miejsce. Program sprawdzi kod XML pod względem zgodności ze schematem RibbonX, wyświetlając lakoniczną, ale przydatną wiadomość, jeżeli są jakieś problemy. Na dodatek automatycznie wstawi plik z poleceniami XML w odpowiednie miejsce i wyedytuje plik z relacjami.

Kiedy już customui.xml zostanie zapisany, będzie można otworzyć dokument w Wordzie i bezpośrednio przyjrzeć się zmianom. Nowe przyciski są związane z kodem za pomocą atrybutu onAction, który po naciśnięciu powinien wymieniać nazwę wywoływanego makra. Makro powinno się zawierać między następującymi wierszami kodu:

Public Sub Tu_Wpisujemy_Nazwę_Makra (ByVal jakas_zmienna As IRibbonControl)
...
End Sub

Wystaw ocenę: 
 Średnia ocena: 
(Głosów: )
Wersja do wydruku Powiadom znajomego Podyskutuj na forum Odsłuchaj materiał RSS Wykop to! Delicje

Komentarze

Redakcja PC World nie ponosi odpowiedzialności za wypowiedzi Internautów opublikowane na stronach serwisu oraz zastrzega sobie prawo do redagowania, skracania bądź usuwania komentarzy zawierających treści zabronione przez prawo, uznawane za obraźliwie lub naruszające zasady współżycia społecznego. Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną.

Ten artykuł nie ma jeszcze żadnych komentarzy. Twój może być pierwszy...




wyżej niżej

POPULARNE TAGI

wyżej niżej

MULTIMEDIA



IDG
© copyright 1999-2008 IDG Poland SA
04-204 Warszawa ul. Jordanowska 12
tel. (+48 22) 321 78 00  fax (+48 22) 321 78 88