Anpassa bandet

Microsoft Office versionerna 97 till 2003 gjorde det möjligt för utvecklare att skriva lösningar med VBA-makron och tilldela dessa makron till anpassade verktygsfältsknappar eller menyer med stor flexibilitet. Du kan placera dina knappar var som helst, kalla dem vad du vill och designa dina egna ikoner för dem. Office 2007 ändrar allt detta: du kan fortfarande skriva dina makron med VBA, men du är nu begränsad till var du kan placera knapparna och vilka bilder du kan bifoga dem. Gamla menyer och verktygsfält designade i tidigare versioner av Office dyker upp ganska röriga på fliken Tillägg i Office 2007-bandet, komplett med sina anpassade bilder, men knappar för alla nya makron du spelar in kan bara placeras på fliken Tillägg eller snabbåtkomstverktygsfältet och ikonen måste väljas från en begränsad lista – du kan inte längre designa din egen.

Anpassa bandet

Om du uppgraderar en Word 97/2003-mall som innehåller makron till en Word 2007 DOTM-fil, bevaras verktygsfälten och knapparna i en attachedtoolbars.bin-fil som ingår i DOTM zip-paketet tillsammans med filen vbaproject.bin för koden. Sådana verktygsfält presenteras av Word 2007 på fliken Tillägg, men det skulle vara så mycket bättre om du kunde placera dina verktygsfältsknappar där du vill ha dem. Tja, faktiskt kan du, och jag ska förklara hur, men du måste skapa lite XML för hand och stoppa in det i DOTM zip-paketet för att göra det.

RibbonX-schemat du behöver använda är relativt enkelt, men det tar lite tid att vänja sig vid. Om du vill lägga till extra flikar, grupper eller knappar till menyfliksområdet, namnge bara objekten och ge dem ID och etiketter. Om du vill lägga till en grupp eller en knapp till en befintlig flik, namnger du den befintliga fliken med dess idMso-attribut. Om du vill lägga till en knapp eller en grupp men kontrollera dess placering använder du attributet insertBeforeMso för att ange var den ska gå. idMso-attributen för alla befintliga knappar, grupper och flikar i varje Office 2007-program publiceras i en uppsättning Excel-arbetsböcker, så att du enkelt kan hitta den du letar efter, och samma ID:n används också för knappbilder om du vill återanvända dem: hitta dem på www.pcpro.co.uk/links/159advoff1

Som ett exempel bestämde jag mig för att uppdatera mitt Smart Bookmarks-projekt för att använda det nya Office 2007-gränssnittet. Detta är en samling makron som automatiserar skapandet av bokmärken och korsreferenser i Word. Word är särskilt dumt när det kommer till att skapa bokmärken, eftersom det får dig att markera texten, klicka på verktyget för att skapa ett bokmärke och sedan namnge bokmärket. För att skapa en korsreferens måste du på samma sätt välja ett bokmärke, rubrik eller numrerat objekt från en lista. My Smart Bookmarks-lösningen låter dig markera en del text och skapa ett bokmärke från den med ett namn som automatiskt beräknas utifrån texten: att skapa korsreferenser är en fråga om att skriva rubriken eller bokmärkestexten som du vill referera till, markera den texten och trycka på en knapp. Makrot söker efter den markerade texten bland alla rubriker och bokmärken och infogar automatiskt en länk till den texten tillsammans med dess sidnummer.

I tidigare versioner var detta projekt en Word 2000- eller 2003-mall som innehöll makrokoden och ett verktygsfält som innehöll knappar kopplade till makron (och koden var digitalt signerad så att den kunde litas på som virusfri). För att använda den lägger du bara den här mallen i Word Startup-mappen så att den laddas varje gång. Word Startup-mappen finns vanligtvis på %APPDATA%MICROSOFTWORDSTARTUP. Båda de gamla versionerna fungerar med Word 2007, men deras verktygsfältsknappar är placerade på fliken Tillägg, medan de skulle vara bättre placerade på fliken Infoga (bredvid de inbyggda kommandona Infoga bokmärke och Infoga korsreferens), och knapparna Växla bokmärken och Växla fältskuggning skulle vara mer hemma på fliken Visa. Att skriva RibbonX-filen för att placera knapparna där jag vill tog en hel eftermiddag, helt enkelt för att jag inte var van vid syntaxen. Här är ett utdrag ur den:

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *