|
||||
Disse websidene oppdateres ikke lengre og er kun tilgjengelig for historikken sin skyld.Klikk her for å gå til den oppdaterte informasjonen. Sende argumenter til makroer fra knapper og menyerEksempelet nedenfor viser hvordan man kan lage CommandBar knapper/menyer som sender ett eller flere argumenter til en makro. Eksempelet viser også hvordan man kan legge til et nytt valg i hurtigmenyen for celler. Sub AddCommandToCellShortcutMenu() Dim i As Integer, ctrl As CommandBarButton DeleteAllCustomControls ' sletter kontrollen dersom den allerede eksisterer ' create the new controls With Application.CommandBars("Cell") ' hurtigmenyen for celler ' legg til en vanlig knapp Set ctrl = .Controls.Add(msoControlButton, , , , True) With ctrl .BeginGroup = True .Caption = "New Menu1" .FaceId = 71 .State = msoButtonUp .Style = msoButtonIconAndCaption .Tag = "TESTTAG1" .OnAction = "MyMacroName1" End With ' legg til en knapp som sender ett tekst-argument Set ctrl = .Controls.Add(msoControlButton, , , , True) With ctrl .BeginGroup = False .Caption = "New Menu2" .FaceId = 72 .Style = msoButtonIconAndCaption .Tag = "TESTTAG2" .OnAction = "'MyMacroName2 ""New Menu2""'" End With ' legg til en knapp som sender ett tekst-argument Set ctrl = .Controls.Add(msoControlButton, , , , True) With ctrl .BeginGroup = False .Caption = "New Menu3" .FaceId = 73 .Style = msoButtonIconAndCaption .Tag = "TESTTAG3" .OnAction = "'MyMacroName2 """ & .Caption & """'" End With ' legg til en knapp som sender to argumenter, en tekst og ett tall Set ctrl = .Controls.Add(msoControlButton, , , , True) With ctrl .BeginGroup = False .Caption = "New Menu4" .FaceId = 74 .Style = msoButtonIconAndCaption .Tag = "TESTTAG4" .OnAction = "'MyMacroName3 """ & .Caption & """, 10'" End With End With Set ctrl = Nothing End Sub Sub DeleteAllCustomControls() ' sletter kontrollene dersom de allerede eksisterer Dim i As Integer For i = 1 To 4 DeleteCustomCommandBarControl "TESTTAG" & i Next i End Sub Private Sub DeleteCustomCommandBarControl(CustomControlTag As String) ' sletter ALLE CommandBar kontroller med Tag = CustomControlTag On Error Resume Next Do Application.CommandBars.FindControl(, , CustomControlTag, False).Delete Loop Until _ Application.CommandBars.FindControl(, , CustomControlTag, False) Is Nothing On Error GoTo 0 End Sub ' eksempelmakroer som benyttes av CommandBar knappene Sub MyMacroName1() MsgBox "Klokken er " & Format(Time, "hh:mm:ss") End Sub Sub MyMacroName2(Optional MsgBoxCaption As String = "UNKNOWN") MsgBox "Klokken er " & Format(Time, "hh:mm:ss"), , _ "Denne makroen ble startet fra " & MsgBoxCaption End Sub Sub MyMacroName3(MsgBoxCaption As String, DisplayValue As Integer) MsgBox "Klokken er " & Format(Time, "hh:mm:ss"), , _ MsgBoxCaption & " " & DisplayValue End Sub CommandBar Tools er et nyttig verktøy som kan hjelpe deg med å finne navn og ID-nummer til de forskjellige CommandBar-ene og deres knapper og menyer.
Dokumentet er sist oppdatert 2000-02-05 22:10:37 Utskriftsvennlig versjon
|
||||
|