Ribbon XMLRibbon XML

리본 (XML) 항목을 사용 하면 XML을 사용 하 여 리본을 사용자 지정할 수 있습니다.The Ribbon (XML) item enables you to customize a ribbon by using XML. 리본 (비주얼 디자이너) 항목에서 지원 하지 않는 방식으로 리본을 사용자 지정 하려는 경우 리본 (XML) 항목을 사용 합니다.Use the Ribbon (XML) item if you want to customize the ribbon in a way that is not supported by the Ribbon (Visual Designer) item. 각 항목에서 수행할 수 있는 작업에 대 한 비교는 리본 개요를 참조 하세요.For a comparison of what you can do with each item, see Ribbon overview.

적용 대상: 이 항목의 정보는 - 다음 응용 프로그램의 문서 수준 프로젝트 및 VSTO 추가 프로젝트에 적용 됩니다 - . Excel; InfoPath 2013 및 InfoPath 2010; 했습니다 보기가 프로젝트가 화면이 단어씩.Applies to: The information in this topic applies to document-level projects and VSTO Add-in projects for the following applications: Excel; InfoPath 2013 and InfoPath 2010; Outlook; PowerPoint; Project; Visio; Word. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조 하세요.For more information, see Features available by Office application and project type.

프로젝트에 리본 (XML) 항목 추가Add a Ribbon (XML) item to a project

새 항목 추가 대화 상자에서 Office 프로젝트에 리본(XML) 항목을 추가할 수 있습니다.You can add a Ribbon (XML) item to any Office project from the Add New Item dialog box. Visual Studio에서 자동으로 다음 파일을 프로젝트에 추가합니다.Visual Studio automatically adds the following files to your project:

  • 리본 XML 파일.A Ribbon XML file. 이 파일에서는 리본 UI(사용자 인터페이스)를 정의합니다.This file defines the Ribbon user interface (UI). 이 파일을 사용하여 탭, 그룹 및 컨트롤과 같은 UI 요소를 추가할 수 있습니다.Use this file to add UI elements such as tabs, groups, and controls. 자세한 내용은이 항목의 뒷부분에 있는 리본 XML 파일 참조 를 참조 하세요.For details, see Ribbon XML file reference later in this topic.

  • 리본 코드 파일.A Ribbon code file. 이 파일에는 리본 클래스 가 포함되어 있습니다.This file contains the Ribbon class. 이 클래스는 새 항목 추가 대화 상자에서 리본(XML) 항목에 대해 지정한 이름을 사용합니다.This class has the name that you specified for the Ribbon (XML) item in the Add New Item dialog box. Microsoft Office 응용 프로그램은이 클래스의 인스턴스를 사용 하 여 사용자 지정 리본을 로드 합니다.Microsoft Office applications use an instance of this class to load the custom ribbon. 자세한 내용은이 항목의 뒷부분에 있는 리본 클래스 참조 를 참조 하세요.For details, see Ribbon class reference later in this topic.

    기본적으로 이러한 파일은 리본 메뉴의 추가 기능 탭에 사용자 지정 그룹을 추가 합니다.By default, these files add a custom group to the Add-Ins tab in the ribbon.

Microsoft Office 응용 프로그램에 사용자 지정 리본 메뉴 표시Display the custom ribbon in a Microsoft Office application

리본 (XML) 항목을 프로젝트에 추가한 후에는 메서드를 재정의 하 고 Office 응용 CreateRibbonExtensibilityObject 프로그램에 리본 XML 클래스를 반환 하는 코드를 ThisAddin, ThisWorkbook 또는 ThisDocument 클래스에 추가 해야 합니다.After you add a Ribbon (XML) item to your project, you must add code to the ThisAddin, ThisWorkbook, or ThisDocument class that overrides the CreateRibbonExtensibilityObject method and returns the Ribbon XML class to the Office application.

다음 코드 예제에서는 CreateRibbonExtensibilityObject 메서드를 재정의하고 MyRibbon이라는 리본 XML 클래스를 반환합니다.The following code example overrides the CreateRibbonExtensibilityObject method and returns a Ribbon XML class named MyRibbon.

protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
    return new MyRibbon();
}
Protected Overrides Function CreateRibbonExtensibilityObject() As  _
Microsoft.Office.Core.IRibbonExtensibility
    Return New MyRibbon()
End Function

사용자 지정 리본 메뉴의 동작 정의Define the behavior of the custom ribbon

콜백 메서드 를 만들어 리본 메뉴의 단추를 클릭 하는 것과 같은 사용자 작업에 응답할 수 있습니다.You can respond to user actions, such as clicking a button on the ribbon, by creating callback methods. 콜백 메서드는 Windows Forms 컨트롤의 이벤트와 비슷하지만 UI 요소의 XML에서 특성으로 식별됩니다.Callback methods resemble events in Windows Forms controls, but they are identified by an attribute in the XML of the UI element. 리본 클래스에서 메서드를 작성하고 컨트롤이 특성 값과 동일한 이름을 가진 메서드를 호출합니다.You write methods in the Ribbon class, and a control calls the method that has the same name as the attribute value. 예를 들어 사용자가 리본의 단추를 클릭할 때 호출 되는 콜백 메서드를 만들 수 있습니다.For example, you can create a callback method that is called when a user clicks a button on the ribbon. 콜백 메서드를 만들려면 다음 두 단계가 필요합니다.Two steps are required to create a callback method:

  • 리본 XML 파일의 컨트롤에 코드에서 콜백 메서드를 식별하는 특성을 할당합니다.Assign an attribute to a control in the Ribbon XML file that identifies a callback method in your code.

  • 리본 클래스에서 콜백 메서드를 정의합니다.Define the callback method in the Ribbon class.

참고

Outlook에는 추가 단계가 필요합니다.Outlook requires an additional step. 자세한 내용은 Outlook 용 리본 사용자 지정을 참조 하세요.For more information, see Customize a ribbon for Outlook.

리본에서 응용 프로그램을 자동화 하는 방법을 보여 주는 연습은 연습: 리본 XML을 사용 하 여 사용자 지정 탭 만들기를 참조 하세요.For a walkthrough that demonstrates how to automate an application from the ribbon, see Walkthrough: Create a custom tab by using Ribbon XML.

컨트롤에 콜백 메서드 할당Assign callback methods to controls

리본 XML 파일의 컨트롤에 콜백 메서드를 할당하려면 콜백 메서드의 형식 및 메서드 이름을 지정하는 특성을 추가합니다.To assign a callback method to a control in the Ribbon XML file, add an attribute that specifies the type of the callback method and the name of the method. 예를 들어 다음 요소는 OnToggleButton1 이라는 OnToggleButton1을 참조하세요.For example, the following element defines a toggle button that has an onAction callback method named OnToggleButton1.

<toggleButton id="toggleButton1" onAction="OnToggleButton1" />

onAction 은 사용자가 특정 컨트롤에 연결된 기본 작업을 수행할 때 호출됩니다.onAction is called when the user performs the main task associated with a particular control. 예를 들어 토글 단추의 onAction 콜백 메서드는 사용자가 단추를 클릭할 때 호출됩니다.For example, the onAction callback method of a toggle button is called when the user clicks the button.

특성에 지정하는 메서드는 아무 이름이나 사용할 수 있습니다.The method that you specify in the attribute can have any name. 그러나 리본 코드 파일에서 정의하는 메서드 이름과 일치해야 합니다.However, it must match the name of the method that you define in the Ribbon code file.

리본 컨트롤에 할당할 수 있는 다양한 형식의 콜백 메서드가 있습니다.There are many different types of callback methods that you can assign to Ribbon controls. 각 컨트롤에 사용할 수 있는 콜백 메서드의 전체 목록은 기술 문서 개발자를 위한 Office (2007) 리본 사용자 인터페이스 사용자 지정 (3/3 부)를 참조 하세요.For a complete list of the callback methods available for each control, see the technical article Customize the Office (2007) Ribbon user interface for developers (Part 3 of 3).

콜백 메서드 정의Define callback methods

리본 코드 파일의 리본 클래스에서 콜백 메서드를 정의합니다.Define your callback methods in the Ribbon class in the Ribbon code file. 콜백 메서드에는 다음과 같은 여러 요구 사항이 있습니다.A callback method has several requirements:

  • public으로 선언해야 합니다.It must be declared as public.

  • 해당 이름은 리본 XML 파일에서 컨트롤에 할당한 콜백 메서드의 이름과 일치해야 합니다.Its name must match the name of a callback method that you assigned to a control in the Ribbon XML file.

  • 해당 서명은 연결된 리본 컨트롤에 사용할 수 있는 콜백 메서드의 형식 서명과 일치해야 합니다.Its signature must match the signature of a type of callback method that is available for the associated Ribbon control.

    리본 컨트롤에 대 한 콜백 메서드 서명의 전체 목록은 기술 문서 개발자를 위한 Office (2007) 리본 사용자 인터페이스 사용자 지정 (3/3 부)를 참조 하세요.For a complete list of the callback method signatures for Ribbon controls, see the technical article Customize the Office (2007) Ribbon user interface for developers (Part 3 of 3). Visual Studio는 리본 코드 파일에서 만든 콜백 메서드에 대해 IntelliSense 지원을 제공하지 않습니다.Visual Studio does not provide IntelliSense support for callback methods that you create in the Ribbon code file. 유효한 서명과 일치하지 않는 콜백 메서드를 만드는 경우 코드가 컴파일되지만 사용자가 컨트롤을 클릭할 때 아무 작업도 수행되지 않습니다.If you create a callback method that does not match a valid signature, the code will compile, but nothing will occur when the user clicks the control.

    모든 콜백 메서드에 메서드를 호출한 컨트롤을 나타내는 IRibbonControl 매개 변수가 있습니다.All callback methods have a IRibbonControl parameter that represents the control that called the method. 이 매개 변수를 사용하여 여러 컨트롤에 대해 동일한 콜백 메서드를 다시 사용할 수 있습니다.You can use this parameter to reuse the same callback method for multiple controls. 다음 코드 예제에서는 사용자가 클릭하는 컨트롤에 따라 다른 작업을 수행하는 onAction 콜백 메서드를 보여 줍니다.The following code example demonstrates an onAction callback method that performs different tasks depending on which control the user clicks.

    public void OnActionCallback(Office.IRibbonControl control, bool isPressed)
    {
        if (control.Id == "checkBox1")
        {
            MessageBox.Show("You clicked " + control.Id);
        }
        else
        {
            MessageBox.Show("You clicked a different control.");
        }
    }
    
    Public Sub OnActionCallback(ByVal control As Office.IRibbonControl, _
        ByVal isPressed As Boolean)
    
        If (control.Id = "checkBox1") Then
            MessageBox.Show("You clicked " + control.Id)
        Else
            MessageBox.Show("You clicked a different control.")
        End If
    
    End Sub
    

리본 XML 파일 참조Ribbon XML file reference

리본 XML 파일에 요소 및 특성을 추가 하 여 사용자 지정 리본 메뉴를 정의할 수 있습니다.You can define your custom ribbon by adding elements and attributes to the Ribbon XML file. 기본적으로 리본 XML 파일에는 다음 XML이 포함되어 있습니다.By default, the Ribbon XML file contains the following XML.

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="OnLoad">
  <ribbon>
    <tabs>
      <tab idMso="TabAddIns">
        <group id="MyGroup"
               label="My Group">
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

다음 표에서는 리본 XML 파일의 기본 요소를 설명합니다.The following table describes the default elements in the Ribbon XML file.

요소Element DescriptionDescription
customUIcustomUI VSTO 추가 기능 프로젝트의 사용자 지정 리본 메뉴를 나타냅니다.Represents the custom ribbon in the VSTO Add-in project.
ribbon 리본을 나타냅니다.Represents the ribbon.
tabs 리본 탭 집합을 나타냅니다.Represents a set of Ribbon tabs.
]5dtab 리본 탭 하나를 나타냅니다.Represents a single Ribbon tab.
groupgroup 리본 탭의 컨트롤 그룹을 나타냅니다.Represents a group of controls on the Ribbon tab.

이러한 요소에는 사용자 지정 리본 메뉴의 모양 및 동작을 지정 하는 특성이 있습니다.These elements have attributes that specify the appearance and behavior of the custom ribbon. 다음 표에서는 리본 XML 파일의 기본 특성을 설명합니다.The following table describes the default attributes in the Ribbon XML file.

attributeAttribute 부모 요소Parent element DescriptionDescription
onLoadonLoad customUIcustomUI 응용 프로그램에서 리본 메뉴를 로드할 때 호출 되는 메서드를 식별 합니다.Identifies a method that is called when the application loads the ribbon.
idMsoidMso ]5dtab 리본 메뉴에 표시할 기본 제공 탭을 식별 합니다.Identifies a built-in tab to display in the ribbon.
idid groupgroup 그룹을 식별합니다.Identifies the group.
labellabel groupgroup 그룹에 나타나는 텍스트를 지정합니다.Specifies the text that appears on the group.

리본 XML 파일의 기본 요소와 특성은 사용할 수 있는 요소 및 특성의 일부에 불과합니다.The default elements and attributes in the Ribbon XML file are a small subset of the elements and attributes that are available. 사용 가능한 요소 및 특성의 전체 목록은 기술 문서 개발자를 위한 Office (2007) 리본 사용자 인터페이스 사용자 지정 (2/3 부)를 참조 하세요.For a complete list of the available elements and attributes, see the technical article Customize the Office (2007) Ribbon user interface for developers (Part 2 of 3).

리본 클래스 참조Ribbon class reference

Visual Studio는 리본 코드 파일에 리본 클래스를 생성합니다.Visual Studio generates the Ribbon class in the Ribbon code file. 리본의 컨트롤에 대 한 콜백 메서드를이 클래스에 추가 합니다.Add the callback methods for controls on the ribbon to this class. 이 클래스는 IRibbonExtensibility 인터페이스를 구현합니다.This class implements the IRibbonExtensibility interface.

다음 표에서는 이 클래스의 기본 메서드를 설명합니다.The following table describes the default methods in this class.

메서드Method DescriptionDescription
GetCustomUI 리본 XML 파일의 내용을 반환합니다.Returns the contents of the Ribbon XML file. Microsoft Office 응용 프로그램은이 메서드를 호출 하 여 사용자 지정 리본의 사용자 인터페이스를 정의 하는 XML 문자열을 가져옵니다.Microsoft Office applications call this method to obtain an XML string that defines the user interface of your custom ribbon. 이 메서드는 GetCustomUI 메서드를 구현합니다.This method implements the GetCustomUI method. 참고: GetCustomUI 는 리본 XML 파일의 내용만 반환 하도록 구현 되어야 합니다. VSTO 추가 기능을 초기화 하는 데 사용 하면 안 됩니다. Note: GetCustomUI should be implemented only to return the contents of the Ribbon XML file; it should not be used to initialize your VSTO Add-in. 특히, GetCustomUI 구현에서 대화 상자 또는 다른 창을 표시하려고 하면 안 됩니다.In particular, you should not try to display dialog boxes or other windows in your GetCustomUI implementation. 그렇지 않으면 사용자 지정 리본이 제대로 동작 하지 않을 수 있습니다.Otherwise, the custom ribbon might not behave correctly. VSTO 추가 기능을 초기화하는 코드를 실행해야 하는 경우 ThisAddIn_Startup 이벤트 처리기에 코드를 추가합니다.If you have to run code that initializes your VSTO Add-in, add the code to the ThisAddIn_Startup event handler.
OnLoad IRibbonControl 필드에 Ribbon 매개 변수를 할당합니다.Assigns the IRibbonControl parameter to the Ribbon field. Microsoft Office 응용 프로그램은 사용자 지정 리본을 로드할 때이 메서드를 호출 합니다.Microsoft Office applications call this method when they load the custom ribbon. 이 필드를 사용 하 여 사용자 지정 리본 메뉴를 동적으로 업데이트할 수 있습니다.You can use this field to dynamically update the custom ribbon. 자세한 내용은 기술 문서 개발자 용 Office (2007) 리본 사용자 인터페이스 사용자 지정 (1/3 부)를 참조 하세요.For more information, see the technical article Customize the Office (2007) Ribbon user interface for developers (Part 1 of 3).
GetResourceText GetCustomUI 메서드에서 리본 XML 파일의 내용을 가져오기 위해 호출합니다.Called by the GetCustomUI method to obtain the contents of the Ribbon XML file.

참고 항목See also