我在VSTO的功能區中有一個自定義選項卡。第一次打開Excel表時,默認選項卡是「Home」。我希望我的自定義選項卡在打開我的Excel表單時作爲默認打開。請告訴我如何完成此操作。自定義選項卡默認
Q
自定義選項卡默認
1
A
回答
0
您必須使用計時器來完成此任務,因爲功能區異步加載並且沒有StartupTab
屬性。
如果您使用的是Excel 2007,則必須通過功能區的IAccessible
屬性訪問功能區,這在我對問題Select VSTO Custom Ribbon in Excel的回答中描述。
System.Timers.Timer tmr { get; set; }
private void Ribbon1_Load(object sender, RibbonUIEventArgs e)
{
tmr = new System.Timers.Timer(500)
{
Enabled = true
};
tmr.Elapsed += new System.Timers.ElapsedEventHandler(RibbonActivateTimer);
}
private void RibbonActivateTimer(object source, System.Timers.ElapsedEventArgs e)
{
var tab = this.Tabs.SingleOrDefault(c => ((RibbonTab)c).Label == "YourStartupTab");
if (tab != null) // check to see if ribbon tab contains the ribbon deal
{
if (double.Parse(Globals.ThisWorkbook.Application.Version) >= 14) //14 = xl2010
{
this.RibbonUI.ActivateTab(tab.ControlId.CustomId);
DeRegisterTimer();
}
}
}
private void DeRegisterTimer()
{
tmr.Dispose();
}
1
我有同樣的問題,看到這一直沒有答案。我使用VSTO在Excel 2013年這很容易通過在自定義功能區類的Load事件處理程序添加類似下面的代碼(Microsoft.Office.Tools.Ribbon.RibbonBase的子類)來完成:
private void YourCustomRibbon_Load(object sender, RibbonUIEventArgs e)
{
RibbonUI.ActivateTab("yourCustomTabName");
}
「yourCustomTabName」是自定義RibbonTab對象的ControlId。可以在RibbonTab設計器中打開功能區選項卡時在ControlId屬性中找到它 - 只需在(名稱)屬性下。
相關問題
- 1. 自定義下拉默認選擇項
- 2. jqyery選項卡默認選項卡
- 3. Jquery選項卡與非選定的默認選項卡
- 4. 設置默認選項卡
- 5. Jquery自定義選項卡
- 6. PySide自定義選項卡
- 7. 基於URL定義默認jQuery選項卡
- 8. 設置CSS/JS選項卡的默認選擇選項卡
- 9. 如何定義默認首選項(prefpane)
- 10. 如何將選項卡設置爲默認選項卡
- 11. 使選項卡第二個選項卡點擊默認
- 12. 與jQuery的選項卡(默認選項卡)
- 13. 爲GXT選項卡設置默認選項卡
- 14. 在jQuery UI選項卡中設置默認焦點選項卡
- 15. Jquery-UI選項卡:雙重加載默認選項卡
- 16. 自定義Backstage視圖選項卡像標準選項卡FileNew
- 17. 在窗體上移動自定義選項卡/子選項卡
- 18. 自定義選項卡形狀的ASP.NET選項卡控件
- 19. 自定義選項卡:通過styles.xml設計選項卡
- 20. Magento自定義選項價格作爲默認
- 21. Yii爲自定義的CGridView設置默認選項
- 22. 自定義首選項中匹配默認顏色
- 23. Ionic中的默認活動選項卡
- 24. 設置PagerSlidingTab庫的默認選項卡
- 25. 覆蓋默認選項卡導航
- 26. 默認的JQuery UI選項卡
- 27. 用jQuery Tools設置默認選項卡
- 28. vim:使選項卡式行爲默認
- 29. 默認選項卡欄視圖?
- 30. 更改IndicatorColor默認選項卡
請檢查以下答案:http://stackoverflow.com/a/9167092/114519,適用於Office 2010。 – Mathias