我有一個使用XML擴展包爲Microsoft Word添加功能的項目。目前,當我們給客戶的文檔打開時,它會加載我們的包,該包執行SmartDocInitialize方法,該方法使用Microsoft.Office.Core.CommandBar.Controls.Add等向主菜單和工具欄添加內容。沒有修改,在Word 2007中打開時,這些按鈕將添加到加載項功能區選項卡上,但這並不理想,因爲按鈕都很小,沒有正確分組,並且無法將加載項選項卡文檔加載時的前端。以編程方式將功能區添加到Microsoft Word 2007
如果在Office 2003中打開文檔,我想保持此功能不變,但如果在Office 2007中打開該文檔,我希望讀入一個xml文件,其中描述了我的新功能區選項卡以及所有按鈕。我已經能夠在網上找到的所有東西似乎只會導致功能區文件只有在你有一個非常具體的魔法組合的情況下才能加載(在Visual Studio中生成並且可以工作,但沒有關於如何將它部署到用戶的信息框),並且只有當您擁有最初使用Office屬性的Visual Studio工具創建的整個項目時纔有效,我目前沒有這些工具。
我們的開發環境是XP,Visual Studio 2005中,C#,.NET 2.0
我所見過的所有關於COM加載項的內容都說它們是以應用程序加載的,而不是基於每個文檔。不幸的是,我不能這樣處理。我已經想出瞭如何在每個文檔基礎上添加功能區,但通過這種方式,onAction函數似乎必須是VBA宏,而且我很難弄清楚如何讓我的VBA宏調用我在C#中的事件處理程序。如果您對此有所瞭解,請爲此問題添加一個答案:http://stackoverflow.com/questions/1288717/is-it-possible-to-call-c-dlls-from-visual-basic-code-contained -in-a-word-2007-fi – 2009-08-18 14:06:24
我的猜測是你必須讓.NET類COM以某種方式可見到VBA(這是COM基礎)可以看到並與他們一起工作。這是我的專長之外。 – 2009-08-18 15:05:53
我找到了。僅供參考。 https://social.msdn.microsoft。com/Forums/office/zh-CN/ddf4a3fe-16af-440d-9697-9a3bf53b52c3/customize-microsoft-word-2007-in-cnet-windows-application-using-microsoftofficeinteropword?forum = worddev 我想不可能。 .. – 2017-10-23 14:01:10