Office-båndet bak kulissene, del 2

Her finner du tilleggsmateriell til del 2 av artiklene om "Office-båndet bak kulissene", som ble publisert i PC World Norge nummer 5 og 6 i 2012. Se også felles ressurser for artiklene.

Av WILLY VERWOERD

Bedre plassering av knappen Slett dokument

Som nevnt i artikkelen, hører knappen Slett dokument egentlig hjemme under kategorien Fil i Word 2010 eller under Office-knappen i Word 2007. Dette omtalte jeg under avsnittet "Feilplassert", der det dessverre også snek seg inn noen små feil i detaljene.

Den første feilen var at jeg nevnte at du bruker en seksjon som heter <officeMenu> i XML-koden for å kunne plassere knappen under Fil-kategorien. Dette var helt korrekt i Office 2007, men ble endret i Office 2010. Der brukes nå <backstage> til dette. Slik plasserer du knappen i de to Office-versjonene:

Office 2010

Bruk følgende XML-kode for å plassere knappen i kategorien Fil:

Egenskapene size, getScreentip og getSupertip har ingen funksjon for knapper i Fil-kategorien og er derfor tatt bort. I denne delen av Office har knappene bare én mulig størrelse og ingen skjermtips. Som du ser, har vi angitt at knappen skal plasseres før Lukk, og vi har gitt den det kortere navnet "Slett". Dette er det lekre resultatet:

Du kan gjerne bruke seksjonen <ribbon> i tillegg for å gjøre andre tilpasninger av båndet, men merk at <backstage> må komme etter seksjonen <ribbon>.

Office 2007

Her brukes som nevnt <officeMenu> på denne måten:

Legg merke til at <officeMenu> i Office 2007 er en seksjon under <ribbon>, mens <backstage> i Office 2010 er på samme nivå som <ribbon>. En annen forskjell er at Office 2007 tillater skjermtips i denne kategorien, mens de ikke lenger kan brukes i Office 2010. Våre skjermtipsrutiner er derfor fortsatt med, men size har heller ikke her noen funksjon og er utelatt.

Ja takk, begge deler

Bruker du Office 2007 og 2010 om hverandre? Ikke noe problem, du kan bruke samme mal til begge versjoner. Malene kan nemlig inneholde to XML-deler til hver sin Office-versjon. Tilpasningene for Office 2010 plasseres i customUI14.xml, mens de for Office 2007 plasseres i customUI.xml som vist her:

Verktøylinjen for hurtigtilgang

Så er tiden inne for å tilstå feil nummer to. Jeg nevnte i artikkelen at du kan bruke seksjonen <qat> (som i Quick Access Toolbar) for å legge knappen inn på verktøylinjen for hurtigtilgang. Heller ikke dette er helt feil, og jeg har brukt teknikken selv. Men jeg glemte i farten at dette bare er mulig når startFromScratch er satt til true (se avsnittet "Start fra bunnen" i artikkelen).

Dette medfører at hele Office-båndet inkludert hurtigverktøylinjen forsvinner, og du må da selv rekonstruere alle elementer du trenger i båndet. Det er selvfølgelig en alt for drastisk fremgangsmåte når alt du ønsker er en ekstra knapp på hurtigverktøylinjen. Det er likevel praktisk å ha knappen der (det har jeg selv), men bedre å bruke Words egne funksjoner for å plassere den. Slik gjør du:

Høyreklikk i Office-båndet og velg Tilpass verktøylinjen for hurtigtilgang. I feltet Velg kommandoer fra ovenfor den venstre listen, velger du Makroer. Så merker du makroen Normal.SlettDokument (se neste avsnitt) og klikker på Legg til.

Nå kan du bruke knappen Endre for å tilpasse navnet (som vises når du holder musen over knappen) og velge ønsket ikon. Det vanlige slette-ikonet er tilgjengelig også her, og dermed får du en like bra knapp som om du hadde konstruert den med XML.

Makroen SlettDokument

Vi hadde ikke plass til programkoden for makroen SlettDokument i artikkelen, så her kommer den:

Sub SlettDokument()
  Dim Fil As String
  Dim Dok As String

  Beep
  On Error Resume Next
  Fil = ActiveDocument.FullName
  Dok = ActiveDocument.Name
  ' Sjekk om det finnes åpne dokumenter
  If Documents.Count = 0 Then
    MsgBox "Det finnes ingen åpne dokumenter.", vbExclamation
  Else
    If MsgBox("Er du sikker på at du vil slette " & Fil & "?", _
      vbCritical + vbYesNo, "Slett dokument") = vbNo Then
        MsgBox "Sletting avbrutt."
    Else
      If Len(ActiveDocument.Path) > 0 Then
        ' Dette er et dokument med navn og tilhørende fil
        ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
        Kill Fil
      Else
        ' Dette dokumentet har ikke blitt lagret ennå
        ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
      End If
      MsgBox Dok & " er slettet."
    End If
  End If
End Sub

Vi kan heller ikke her gi deg noen innføring i VBA, men skal likevel kort forklare hvordan du legger inn makroen:

Tast Alt-F11 i Word for å åpne Visual Basic for Applications. Klikk om nødvendig på plusstegnet foran Normal for å se elementene som ligger under denne, og gjør det samme med Modules.

Fra før av har vi opprettet modulen RibbonControl til VBA-rutinene som spiller sammen med XML-koden vår, men SlettDokument er en generell makro som høres sammen med andre vanlige makroer. Hvis det f.eks. allerede finnes en modul med navnet NewMacros, dobbelklikker du på denne. Programkoden vises da til høyre. Hvis det ikke finnes noen andre moduler ennå, velger du Insert/Module fra menyen for å sette inn en ny modul.

Du kan nå kopiere programkoden ovenfor inn i modulen. Hvis den inneholder makroer fra før, må du passe på at du ikke limer koden inn i en eksisterende makro, men plasserer den foran Sub eller etter End Sub. Tast til slutt Ctrl-S for å lagre endringene i malen.

For å lære mer om Visual Basic for Applications, se Anbefalte artikler om VBA.

Spørsmål eller forslag?

Har du spørsmål til artiklene eller forslag, ris eller ros, er du velkommen til å ta kontakt:

 


Tilbake til hovedartikkel