05.09.2013 Views

12 Excel aanpassen - Pearson Education

12 Excel aanpassen - Pearson Education

12 Excel aanpassen - Pearson Education

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Oefening <strong>12</strong>.2 Menu toevoegen via een macro<br />

1 Neem de volgende macro over om een menu toe te voegen:<br />

C Sub VoegEenMenuToe()<br />

Dim mnuMM As Object<br />

MsgBox Application.CommandBars(1).Controls.Count<br />

Set mnuMM = Application.CommandBars(1).Controls.Add _<br />

(Type:=msoControlPopup, before:=1, temporary:=True)<br />

mnuMM.Caption = "Ipaa &Service"<br />

mnuMM.Visible = True<br />

mnuMM.OnAction = "LogInDatabase"<br />

MsgBox Application.CommandBars(1).Controls.Count<br />

End Sub<br />

<strong>12</strong> <strong>Excel</strong> <strong>aanpassen</strong><br />

Eerst wordt het aantal menu’s geteld en weergegeven in een messagebox. Dan wordt een menu<br />

toegevoegd vóór het menu Bestand. De menutekst wordt opgegeven met een ampersand voor<br />

een letter die niet in een van de andere menu’s voorkomt. Dit wordt de sneltoets. De macro die<br />

uitgevoerd wordt is LogInDatabase. U kunt een willekeurige macro gebruiken die u gemaakt<br />

hebt. Tot slot wordt het aantal menu’s weer geteld en weergegeven.<br />

Bij menu’s op de menubalk – zoals in dit voorbeeld – wordt normaal gesproken geen handeling<br />

uitgevoerd als we op de menukeuze klikken. In dat geval laat u gewoon de OnAction eigenschap<br />

weg en vult u het menu met items.<br />

2 Deze macro verwijdert een specifiek toegevoegd menu. U noemt het dus bij naam!<br />

C Sub VerwijderEenMenu()<br />

Application.CommandBars(1).Controls("Ipaa &Service").Delete<br />

End Sub<br />

Overigens is het een goede zaak om een menu eerst te verwijderen voordat u het toevoegt.<br />

Bestaat het menu namelijk al en u voegt het (nogmaals) toe, dan zijn er twee! In de procedure<br />

VoegEenMenuToe roept u gewoon eerst de procedure VerWijderEenMenu aan. Probeert u<br />

daarentegen een menu te verwijderen, terwijl het nog niet bestaat, dan levert dat een fout in de<br />

macro op.<br />

3 Deze fout kunt u als volgt voorkomen:<br />

C Sub VerwijderEenMenu()<br />

On Error Resume Next<br />

Application.CommandBars(1).Controls("Ipaa &Service").Delete<br />

On Error Goto 0<br />

End Sub<br />

Voeg deze uitbreiding pas toe als alles foutloos werkt. Met On Error Resume Next zegt u ’Ga<br />

305

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!