0
我有我的自定義功能區選項卡,我想在給定的事件中顯示或隱藏其中的一些選項卡。但我想單獨顯示/隱藏它們,因此選項卡不應該依賴於彼此或類似的東西。單獨顯示/隱藏不同的自定義選項卡
我一直在嘗試從這個documentation.和this one的例子,但沒有成功。
這是標籤色帶XML:
<tab id="t1" label="CustomTab" getVisible="GetVisible" tag="xtab">
<!-- some other elements -->
</tab>
<tab id="t2" label="CustomTab_2" getVisible="GetVisible" tag="xtab_2">
<!-- some other elements -->
</tab>
和VB代碼:
Private isVisible As Boolean = False
Public Sub GetVisible(control As Office.IRibbonControl, ByRef returnedVal As Boolean)
returnedVal = isVisible
End Sub
Private Sub RefreshRibbon(Tag As String)
ribbon.Invalidate()
End Sub
Public Sub show_xtab(ByVal control As Office.IRibbonControl)
isVisible = True
Call RefreshRibbon(Tag:="xtab")
End Sub
Public Sub hide_xtab(ByVal control As Office.IRibbonControl)
isVisible = False
Call RefreshRibbon(Tag:="xtab")
End Sub
在這裏,我想只是其中之一,使至少一個來工作(然後我會照顧動態傳遞標籤屬性)。但這不起作用。
但是,如果我改變GetVisible
方法如下:
Public Function GetVisible(control As Office.IRibbonControl)
Return isVisible
End Function
它會工作,但同時兩者的標籤。我想單獨控制它們。
任何建議或教程?
更新:試圖從建議的意見一些解決方案
XML仍然是相同的。 VB代碼:
Public MyTag as String
Sub GetVisible(control As Office.IRibbonControl, ByRef visible As Boolean)
If control.Tag Like MyTag Then
visible = True
Else
visible = False
End If
End Sub
Private Sub RefreshRibbon(Tag As String)
MyTag = Tag
ribbon.Invalidate()
End Sub
Public Sub show_xtab(ByVal control As Office.IRibbonControl)
Call RefreshRibbon(Tag:="xtab")
End Sub
Public Sub show_xtab_2(ByVal control As Office.IRibbonControl)
Call RefreshRibbon(Tag:="xtab_2")
End Sub
,但仍然沒有成功...
你見過[這](http://www.rondebruin.nl/win/s2/win012 .htm)有一個工作簿,你可以下載 –
它和https://msdn.microsoft.com/en-us/library/ee633442%28v=office.11%29.aspx中的一樣,而他只提供了XML,沒有VB代碼。 – Syspect
您是否點擊了'下載示例工作簿' –