我已成功使用Visual Studio 2008中的Excel和Word插件模板來創建添加到功能區的項目,但我在共享插件時遇到了困難。我創建了一個使用xml文件修改和添加到功能區的插件,並且我可以從添加的按鈕中捕獲事件,但是我無法爲我的生活弄清楚如何隱藏按鈕或添加控件啓動並運行。基本上我需要對某個功能區的某種引用,我所能得到的只是對實現IRibbonUi的對象的引用,而這並沒有幫助。有沒有人有任何良好的共享附加示例或建議?VSTO - 用於Word和Excel的共享插件來修改色帶
2
A
回答
2
有兩種可能的方法來控制功能區控件的可見性。您可以使用visible屬性或getVisible事件。兩種方法都需要修改您已經使用的xml文件。
如果這是現在你的部分xml文件:
<button id="MyButton" label="Hello" onAction="MyButtonOnAction"/>
然後你就可以將其更改爲隱藏控制:
<button id="MyButton" label="Hello" onAction="MyButtonOnAction" visible="false"/>
這是沒有多大用處,因爲它是硬編碼。爲了接近你是XML找零錢什麼:
<button id="MyButton" label="Hello" onAction="MyButtonOnAction" getVisible="MyButtonGetVisible"/>
然後在你做了你創建MyButtonGetVisible回調恰好有這樣的簽名(C#)的MyButtonOnAction回調以同樣的方式:
bool MyButtonGetVisible(IRibbonControl control)
使用此方法,您可以根據是否顯示/隱藏按鈕返回true或false。下一個問題可能是MyButtonGetVisible回調函數在我的加載項被加載後才被調用。我想稍後顯示/隱藏按鈕,我如何獲得回調觸發?
要完成此操作,您可以使用該IRibbonUI對象並調用Invalidate函數,這將導致整個功能區失效,從而導致調用回調。如果您需要更好的控制,您可以調用InvalidateControl函數,該函數將ControlID作爲參數,並且只會使一個控件失效,這將導致調用回調。
至於在即時添加控件,我不相信這是可能的。
相關問題
- 1. VSTO Excel 2007插件無法從網絡共享安裝
- 2. VSTO插件(2003-2007)Ms Word和Webservices
- 3. .NET VSTO保存Excel文件和共享服務器
- 4. 如何在一個VSTO的Word插件
- 5. Microsoft Word - 在個人電腦之間共享自定義色帶
- 6. VSTO在outlook中插入word,excel,power-point和郵件附件圖片
- 7. 兩個outlook VSTO插件之間的共享代碼
- 8. VSTO Word插件:內容控制嵌套
- 9. CAS修改(共享數據)
- 10. 在VSTO色帶中插入WPF用戶控件
- 11. 從VSTO調用Python代碼excel插件
- 12. VSTO Excel插件不起作用
- 13. 如何修改laravel文件上傳代碼來共享主機?
- 14. 將Word插件發佈到共享文件夾
- 15. 修改一個Excel VBA腳本在Word
- 16. ASP.Net - Word/Excel/PPT在線修改
- 17. excel VSTO插件可以兼容excel 2007和2010嗎?
- 18. 插入word文件excel表
- 19. 如何更改Word中VSTO註釋的文本背景顏色?
- 20. Segment.io和Mixpanel分析來跟蹤共享插件的活動
- 21. 共享ArrayList的併發修改異常
- 22. 修改共享庫的Git提交
- 23. 2個線程修改共享的BlockingQueue
- 24. 我的VSTO Excel插件如何判斷工作簿是否嵌入Word文檔?
- 25. WordPress的插件共享
- 26. Facebook的社交插件:更改網址和共享/像數據
- 27. 在Excel VSTO中插入行事件?
- 28. Excel VSTO插件部署錯誤
- 29. 使用PHP檢測遠程SMB共享上的文件修改
- 30. 如何使用java修改共享文件夾的權限?
謝謝,那getVisible回調與InvalidateControl呼叫相結合正是我們落得這樣做。最後唯一的麻煩是,當我們覆蓋打開的文件按鈕時,ctrl-o快捷鍵會以word的形式調用我們的代碼,但不會在Excel中。我們能找到的最好的是,Excel團隊沒有實現這一點。 – Codezy 2009-09-01 14:58:46