Upravljanje traku s kodo
Ukaze traku iz VBA zatemnite, skrijte, preimenujte ali pritisnite in se odzovite, preden se ukaz izvede.
Zahteva WKL Forms Object Library 1.49 ali novejšo različico.
Pregled rešitve
Ustvarjeni modul basWklRibbon vsebuje funkcijo WklRibbonObject(). Ta vrne izvajalni objekt traku podatkovne zbirke:
Enabled, Visible, Label in Pressed za posamezen ukaz začnejo takoj veljati na traku, v pogledu Datoteka in v
priročnih menijih; ResetCommand vrne stanje iz modela. Dogodek Action se sproži pred dejanjem ukaza in ga lahko
prekliče.
Izvedba
' In the module of the form frmNarocila
Private WithEvents mRibbon As WklRibbon
Private Sub Form_Load()
Set mRibbon = WklRibbonObject()
End Sub
Private Sub Form_Current()
' Only a released order can be printed.
mRibbon.Enabled("cmdNatisni") = (Nz(Me!Stanje, "") = "Sproščeno")
End Sub
Private Sub Form_Close()
mRibbon.ResetCommand "cmdNatisni"
End Sub
Private Sub mRibbon_Action(ByVal Command As String, ByVal Pressed As Boolean, Cancel As Integer)
If Command = "cmdNatisni" And Me.Dirty Then Me.Dirty = False
End Sub
Private Sub mRibbon_ActionError(ByVal Command As String, ByVal Description As String)
MsgBox "Ukaza ni bilo mogoče izvesti: " & Description, vbExclamation
End Sub
Opombe
Visible= False skrije ukaz poleg njegovega pogoja; ukaza, ki ga skrije njegov pogoj, ne more prikazati.- Vrednosti pripadajo podatkovni zbirki v seji Accessa, ne obrazcu: ponastavite jih, ko se obrazec zapre, kot zgoraj, razen če naj ostanejo.
- Spremenljivka
WithEventsje mogoča le na ravni modula obrazca, poročila ali razreda. Dogodek gre temu objektu;WklRibbonObject()vedno vrne objekt modula, zato vsak poslušalec prejme dogodke traku. Execute "cmdNatisni"izvede ukaz iz kode, kot da bi ga izbral uporabnik.
Sorodne teme
sl/wiki/msaccess/comctl/how-to/control-the-ribbon-from-code.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille