自訂 InfoPath 的功能區
自訂 Microsoft Office InfoPath 中的功能區時,您必須考慮自訂功能區要出現在應用程式中的位置。InfoPath 2010 可以在下列三種類型的 InfoPath 應用程式視窗中顯示功能區:
顯示在設計模式中開啟之表單範本的視窗。
顯示以表單範本為基礎之表單的視窗。
[預覽列印] 視窗。
本主題中的資訊適用於應用程式層級專案 InfoPath 2010 的套用: 。如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能。
使用者和設計人員會在設計模式中開啟表單範本,以修改範本的外觀和配置。使用者會開啟以表單範本為基礎的表單來加入內容。如需詳細資訊,請參閱從設計表單範本轉變為填入表單 (英文)。
[預覽列印] 視窗可讓設計人員和使用者在列印之前,先預覽表單或表單範本的頁面。
注意事項 |
---|
[增益集] 索引標籤不會出現在 [預覽列印] 視窗中。如果您希望自訂索引標籤出現在 [預覽列印] 視窗中,請確定索引標籤的 [OfficeId] 屬性未設定為 [TabAddIns]。 |
您必須指定要顯示功能區之每個視窗的功能區類型。
在功能區設計工具中指定功能區類型
如果您使用 [功能區 (視覺化設計工具)] 項目,請按一下 [屬性] 視窗中功能區的 [RibbonType] 屬性,然後選取下表中所述的任何功能區 ID。
功能區 ID |
執行專案時會出現功能區的視窗 |
---|---|
Microsoft.InfoPath.Designer |
顯示在設計模式中開啟之表單範本的視窗。 |
Microsoft.InfoPath.Editor |
顯示以表單範本為基礎之表單的視窗。 |
Microsoft.InfoPath.PrintPreview |
[預覽列印] 視窗。 |
您可以將多個功能區加入專案中。如果多個功能區共用一個功能區 ID,請覆寫專案的 ThisAddin 類別中的 CreateRibbonExtensibilityObject 方法,以指定要在執行階段顯示的功能區。如需詳細資訊,請參閱功能區概觀。
使用功能區 XML 指定功能區類型
如果您使用 [功能區 (XML)] 項目,請檢查 IRibbonExtensibility.GetCustomUI 方法中 ribbonID 參數的值,並傳回適當的功能區。
IRibbonExtensibility.GetCustomUI 方法是由 Visual Studio 在功能區程式碼檔中自動產生。ribbonID 參數是字串,該字串會識別開啟的 InfoPath 視窗類型。
下列程式碼範例示範如何只在以設計模式顯示表單範本的視窗中顯示自訂功能區。要顯示的功能區會在 GetResourceText() 方法中指定,而該方法會在功能區類別中產生。如需功能區類別的詳細資訊,請參閱功能區 XML。
Public Function GetCustomUI(ByVal ribbonID As String) As String Implements Office.IRibbonExtensibility.GetCustomUI
Dim ribbonXML As String = String.Empty
If ribbonID = "Microsoft.InfoPath.Designer" Then
ribbonXML = GetResourceText("MyInfoPathProject.Ribbon.xml")
End If
Return ribbonXML
End Function
public string GetCustomUI(string ribbonID)
{
string ribbonXML = String.Empty;
if (ribbonID == "Microsoft.InfoPath.Designer")
{
ribbonXML = GetResourceText("MyInfoPathProject.Ribbon.xml");
}
return ribbonXML;
}