Difference between revisions of "A 'hello world' VBA program"
From Ribbon Commander Documentation
(→Code Analysis) |
|||
Line 14: | Line 14: | ||
' Create a new tab | ' Create a new tab | ||
Dim myTab As rxTab | Dim myTab As rxTab | ||
− | Set myTab = | + | Set myTab = New rxTab |
− | + | ||
' Give the new tab a label | ' Give the new tab a label | ||
myTab.Label = "My First Tab" | myTab.Label = "My First Tab" | ||
+ | ' Add the new tab to myRibbon's tabs | ||
+ | myRibbon.tabs.Add myTab | ||
+ | |||
' Render the UI | ' Render the UI | ||
Line 44: | Line 46: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Each rxCustomUI object owns a unique rxRibbon object. Here, we are holding on to the rxRibbon object of myCustomUI | + | Each rxCustomUI object owns a unique [[rxRibbon]] object. Here, we are holding on to the rxRibbon object of myCustomUI |
<syntaxhighlight lang="vb"> | <syntaxhighlight lang="vb"> | ||
− | ' | + | ' Create a new tab |
− | Dim | + | Dim myTab As rxTab |
− | Set | + | Set myTab = New rxTab |
+ | |||
+ | ' Give the new tab a label | ||
+ | myTab.Label = "My First Tab" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | Here we create a new [[rxTab]] object and give it a label | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="vb"> | ||
+ | ' Add the new tab to myRibbon's tabs | ||
+ | myRibbon.tabs.Add myTab | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Each [[rxRibbon]] object has a collection of [[rxTab]] objects (accessible through its .tabs property). Here we add the tab we created above to our ribbon's tabs | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="vb"> | ||
+ | ' Render the UI | ||
+ | myCustomUI.Refresh | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | To ensure optimal performance, the UI update always takes place in two steps: | ||
+ | # Update the target rxCustomUI state, which we have done above | ||
+ | # Render the updated UI, which we are doing here |
Revision as of 17:24, 10 March 2013
Creating a tab
- Enter the code below in a standard VBA module
Public Sub CreateMyUI()
' Get a reference to the default rxCustomUI instance
Dim myCustomUI As rxCustomUI
Set myCustomUI = rxCustomUI.defaultInstance
' Get a reference to the rxRibbon object of our rxCustomUI instance
Dim myRibbon As rxRibbon
Set myRibbon = myCustomUI.ribbon
' Create a new tab
Dim myTab As rxTab
Set myTab = New rxTab
' Give the new tab a label
myTab.Label = "My First Tab"
' Add the new tab to myRibbon's tabs
myRibbon.tabs.Add myTab
' Render the UI
myCustomUI.Refresh
End Sub
Code Analysis
Dim myCustomUI As rxCustomUI Set myCustomUI = rxCustomUI.defaultInstance
rxCustomUI is at the top of the object model hierarchy. Here, we are holding on to the default rxCustomUI instance for the current office application session.
' Get a reference to the rxRibbon object of our rxCustomUI instance Dim myRibbon As rxRibbon Set myRibbon = myCustomUI.ribbon
Each rxCustomUI object owns a unique rxRibbon object. Here, we are holding on to the rxRibbon object of myCustomUI
' Create a new tab Dim myTab As rxTab Set myTab = New rxTab ' Give the new tab a label myTab.Label = "My First Tab"
Here we create a new rxTab object and give it a label
' Add the new tab to myRibbon's tabs
myRibbon.tabs.Add myTab
Each rxRibbon object has a collection of rxTab objects (accessible through its .tabs property). Here we add the tab we created above to our ribbon's tabs
' Render the UI
myCustomUI.Refresh
To ensure optimal performance, the UI update always takes place in two steps:
- Update the target rxCustomUI state, which we have done above
- Render the updated UI, which we are doing here