功能區概觀

功能區是組織相關命令以便更容易找到的方法。 命令會顯示為功能區上的控制件。 控件會沿著應用程式視窗頂端的水準條形,組織成 群組 。 相關的群組會組織在索引標籤上。

使用舊版 Microsoft Office 系統中的功能表和工具列來存取的大部分功能,現在可以使用功能區來存取。 如需詳細資訊,請參閱 2007 Microsoft Office 系統使用者介面的技術文章開發人員概觀。

適用於: 本主題中的資訊適用於下列應用程式的檔層級專案和 VSTO 載入宏專案:Excel;InfoPath 2013 和 InfoPath 2010;前景;幻燈片;專案;Visio;詞。 如需詳細資訊,請參閱 Office 應用程式 lication 和項目類型所提供的功能。

自定義 Microsoft Office 功能區

若要自定義功能區,請將下列其中一個功能區專案新增至 Office 專案:

  • 功能區 (視覺化設計工具)

  • 功能區 (XML)

    例如,若要自訂 Excel 功能區,請將功能區項目加入 Excel VSTO 增益集專案。

功能區 (可視化設計工具) 專案

功能區 (可視化設計工具) 專案提供進階工具,讓您更輕鬆地設計及開發自定義功能區。 使用功能區 (Visual Designer) 專案,以下列方式自定義功能區:

  • 將自定義或內建索引標籤新增至功能區。

  • 將自訂群組加入自訂或內建的索引標籤。

    注意

    內建索引標籤或群組是 Microsoft Office 應用程式 lication 功能區上已經存在的索引標籤或群組。 例如,[ 數據 ] 索引標籤是 Excel 中的內建索引標籤。 連線 ions 群組是 [數據] 索引標籤上的內建群組。

  • 將自訂控制項加入自訂群組。

  • 將自訂控制項加入 Backstage 檢視。

    如需如何使用功能區自定義功能區 的詳細資訊(Visual Designer) 專案,請參閱 功能區設計工具

功能區 (XML) 專案

如果您想要以功能區 (Visual Designer) 項目不支援的方式自定義功能區,請使用功能區 (XML) 專案。 使用功能區 (XML) 專案,以下列方式自訂功能區:

  • 將內建群組新增至自定義索引標籤或內建索引標籤。

  • 將內建控制項加入自訂群組。

  • 加入自訂程式碼來覆寫內建控制項的事件處理常式。

  • 自訂快速存取工具列。

  • 使用限定 ID 在 VSTO 增益集之間共用功能區自訂。

    如需如何使用功能區 (XML) 專案自定義功能區的詳細資訊,請參閱功能區 XML

從功能區設計工具將功能區匯出至功能區 XML

如果您使用功能區設計工具建立功能區,然後決定您想要以功能區 (Visual Designer) 項目不支援的方式自定義功能區,您可以將功能區匯出至 XML。

Visual Studio 會自動建立 功能區 (XML) 專案,並以功能區上每個控件的元素和屬性填入功能區 XML 檔案。

並非所有在 功能區設計工具的 [屬性 ] 視窗中的屬性都會傳送至功能區 XML 檔案。 例如,Visual Studio 不會匯出 ImageText 屬性的值。 這是因為您必須在已匯出專案的功能區程式碼檔中建立回呼方法,才能指派映像或設定控制項的文字。 Visual Studio 不會自動產生回呼方法作為匯出程序的一部分。

此外,任何未經變更的預設屬性值都不會出現在產生的功能區 XML 檔案中。

如需如何將功能區匯出至 XML 的詳細資訊,請參閱 How to: Export a ribbon from the Ribbon Designer to Ribbon XML

更新程序代碼

新的功能區程式代碼檔案會新增至 方案總管。 這個檔案包含功能區 XML 類別。 您必須在這個類別的 Ribbon Callbacks 區域中建立回呼方法以處理使用者動作,例如按一下某個按鈕。 從這些回呼方法的事件處理常式中移除您的程式碼,並修改程式碼以使用功能區擴充功能 (RibbonX) 程式設計模型。 如需詳細資訊,請參閱 Ribbon XML

您也必須將程式碼加入會覆寫 CreateRibbonExtensibilityObject 方法,並將功能區 XML 類別傳回 Office 應用程式的 ThisAddInThisWorkbookThisDocument 類別中。

如需詳細資訊,請參閱 Ribbon XML

將多個功能區專案新增至專案

一個專案中可以加入多個功能區項目。 如果您想要執行下列兩項工作的其中之一,這會很有用:

  • 建立 Outlook Inspector 的功能區。 如需詳細資訊,請參閱 自定義 Outlook 的功能區。

    注意

    [偵測器] 是使用者執行特定工作時開啟的視窗,例如建立電子郵件訊息。

  • 選取運行時間要顯示的功能區。

選取運行時間要顯示的功能區

因為專案可以包含多個功能區,因此您可以選取運行時間要顯示的功能區。

若要選取要在運行時間顯示的功能區,請覆寫CreateRibbonExtensibilityObject專案、 ThisAddinThisWorkbookThisDocument 類別中的 方法,並傳回您想要顯示的功能區。 下列範例會檢查名為 myCondition 的字段值,並傳回適當的功能區。

注意

此範例中使用的語法會傳回使用 功能區 (Visual Designer) 專案所建立的功能區。 使用 功能區 (XML) 專案建立之傳回功能區的語法稍有不同。 如需傳回 功能區 (XML) 專案的詳細資訊,請參閱 功能區 XML

新增下列程式碼:

    protected override Microsoft.Office.Core.IRibbonExtensibility
CreateRibbonExtensibilityObject()
    {
        if (myCondition == true)
        {
            return Globals.Factory.GetRibbonFactory().CreateRibbonManager(
                new Microsoft.Office.Tools.Ribbon.IRibbonExtension[] { new Ribbon1() });
        }
        else
        {
            return Globals.Factory.GetRibbonFactory().CreateRibbonManager(
                new Microsoft.Office.Tools.Ribbon.IRibbonExtension[] { new Ribbon2() });
        }
    }
標題 描述
如何:開始自定義功能區 示範如何自定義 Microsoft Office 應用程式 lication 的功能區、將功能區 (Visual Designer)Ribbon (XML) 專案新增至 Office 專案。
功能區設計工具 描述如何使用功能區設計工具,將自定義索引標籤、群組和控件新增至 Microsoft Office 應用程式 lication 的功能區。
逐步解說:使用功能區設計工具建立自定義索引標籤 示範如何使用功能區設計工具建立自訂的功能區索引標籤。 您可以使用功能區設計工具,在自訂的索引標籤中加入和放置控制項。
功能區物件模型概觀 提供強型別物件模型的概觀,您可以在運行時間用來取得和設定功能區控件的屬性。
逐步解說:在運行時間更新功能區上的控制件 示範如何使用功能區物件模型,在功能區載入至 Office 應用程式之後,更新功能區上的控制項。
自訂 Outlook 的功能區 提供在 Microsoft Office Outlook 中自定義功能區的指引。
自訂 InfoPath 的功能區 提供在 Microsoft Office InfoPath 中自定義功能區的指引。
在運行時間存取功能區 示範如何顯示、隱藏和修改功能區,並讓使用者從自定義工作窗格、動作窗格或 Outlook 窗體區域中的控件執行程序代碼。
如何:變更功能區上索引標籤的位置 示範如何變更功能區上的索引卷標順序。
如何:自定義內建索引標籤 示範如何在內建索引標籤中加入群組和控制項。
如何:將控件新增至Backstage檢視 示範如何將控件新增至當您按兩下 [檔案] 時開啟的功能表。
如何:將對話框啟動器新增至功能區群組 顯示將對話框啟動器新增至功能區上的任何群組。
作法:將功能區設計工具的功能區導出至功能區 XML 示範如何將功能區從設計工具匯出至功能區 XML,以進階方式自定義功能區。
Ribbon XML 說明如何使用功能區 XML 自定義功能區。
逐步解說:使用功能區設計工具建立自定義索引標籤 示範如何使用功能區 (XML) 專案建立自定義功能區索引標籤。