簡體   English   中英

VSTO C#/VBA 如何在上下文菜單 MS Project 2016+ 中添加我的菜單項

[英]VSTO C#/VBA how add my menu item in context menu MS Project 2016+

需要使用 C# 或 VBA 和 VSTO 將上下文菜單添加到 MS Project 2016+ 菜單。 在任務列表中。 有誰知道如何做到這一點? 我翻遍了整個互聯網,但仍然無法在 MS Project 中找到如何做到這一點。

Word Excel Outlook 的方法在 MS Project 中不起作用

對我來說如何在 VBA 中做到這一點也足夠了。 我將翻譯成 C #

此代碼適用於 Excel 需要 ms 項目

Sub aaa()

Set cbt = CommandBars("Cell").Controls.Add(Temporary:=True)

With cbt
    .Caption = ("mymacro")
    .Style = msoButtonCaption
End With
   
End Sub





試圖找到所需的元素並遍歷所有可能的元素。 我的菜單沒有添加到菜單中。

public Microsoft.Office.Interop.MSProject.Application app = new Microsoft.Office.Interop.MSProject.Application();

            for (int i = 1; i < app.Application.CommandBars.Count; i++)
            {
                try
                {
                    
                    var _ContextMenu = (CommandBarButton)app.Application.CommandBars[app.Application.CommandBars[i].Name].Controls.Add(Temporary: true);
                    _ContextMenu.Style = MsoButtonStyle.msoButtonCaption;
                    _ContextMenu.Caption = "Hello !!!";
                    _ContextMenu.FaceId = 356;
                    _ContextMenu.Tag = "HELLO_TAG";
                }
                catch { }
            }

我究竟做錯了什么?

謝謝

命令欄已棄用,不能再用於自定義 MS Office 應用程序 UI。 有關詳細信息,請參閱自定義 Office 2010 中的上下文菜單

相反,您需要使用 Fluent UI(又名 Ribbon UI)來自定義 MS Project UI(包括上下文菜單)。 您可以在以下文章中閱讀有關 Fluent UI 的更多信息:

此外,要使其在 MS Project 中工作,您需要開發一個基於 COM 的插件,實現IDTExtensibility2接口。 或者只是在 C# 或 VB.NET 的 Visual Studio 中創建一個基於 VSTO 的加載項。 有關詳細信息,請參閱演練:為項目創建您的第一個 VSTO 外接程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM