리본 메뉴 사용자 지정

리본 메뉴는 프로그램 창의 맨 위에 가로로 놓여 있고 명령 그룹을 포함하는 새로운 Microsoft Office Fluent 사용자 인터페이스 의 구성 요소입니다. Office Fluent 사용자 인터페이스 에서는 이전 버전의 Access에 있던 메뉴와 도구 모음을 대체하며 Microsoft Office Access 2007의 여러 명령을 한 곳에서 제공합니다.  

Office Access 2007을 사용하여 고급 응용 프로그램을 작성하다 보면 응용 프로그램을 더 쉽게 사용할 수 있도록 만들기 위해 Office Fluent 리본 메뉴를 사용자 지정하고 싶은 경우가 발생할 수 있습니다. 예를 들어 기본적으로 표시되는 탭의 일부 또는 전부를 숨겨서 사용자가 특정 명령을 사용할 수 없도록 하고 사용자가 실행할 수 있도록 허용할 명령만 포함된 사용자 지정 탭을 새로 만들 수 있습니다.

Office Fluent 사용자 인터페이스 를 사용하는 모든 2007 Microsoft Office system 프로그램에서 리본 메뉴를 사용자 지정하는 데는 XML(Extensible Markup Language) (XML(Extensible Markup Language): SGML(Standard Generalized Markup Language)을 간략화한 형태로서 보다 융통성 있게 정보를 구성하고 표현할 수 있는 사용자 지정 태그를 만들 수 있습니다.)이 사용됩니다. 따라서 XML에 대한 약간의 기본적인 지식을 갖추고 있으면 작업에 도움이 됩니다. 이 문서에서는 XML 개념을 다루지 않는 대신 리본 메뉴를 사용자 지정하는 기본 절차와 몇 가지 예제 XML을 제공합니다. 이 예제 XML을 사용자의 필요에 맞게 수정할 수 있습니다.

XML 및 리본 메뉴 사용자 지정에 대한 자세한 내용은 이 문서의 참고 항목에 있는 링크를 참고하십시오.

실행할 작업


리본 메뉴 사용자 지정 방법 이해

Office Access 2007에서 사용자 지정 XML을 만든 다음, Access에서 리본 메뉴를 만들 때 해당 XML이 사용되도록 데이터베이스 속성을 설정하거나 코드를 추가하여 리본 메뉴를 사용자 지정할 수 있습니다. XML을 사용하여 기존 탭을 숨기고 새 탭, 명령 그룹 및 개별 명령을 추가할 수 있습니다. 이 문서에서는 찾기, 정렬, 저장 등 Access에서 기본 제공되는 명령을 추가하는 방법과 사용자가 직접 작성한 Access 매크로를 실행하는 명령을 추가하는 방법의 절차를 설명합니다.

XML을 여러 위치에 저장할 수 있지만 가장 간편한 방법 중 하나는 XML을 현재 데이터베이스의 시스템 테이블에 저장하는 것입니다. 이 과정에서 USysRibbons라는 시스템 테이블을 만들고 사용자의 리본 메뉴 XML을 이 테이블에 추가한 다음, 사용자 지정 리본 메뉴를 데이터베이스 전체에 대해 표시할지 특정 폼이나 보고서에 대해 표시할지 여부를 지정합니다. 여러 개의 사용자 지정 리본 메뉴를 정의하여 그 중 하나는 전체 응용 프로그램에 사용하고 다른 리본 메뉴는 데이터베이스의 개별 폼이나 보고서에 사용할 수 있습니다. 

맨 위로 이동 맨 위로 이동

사용자 지정 리본 메뉴 만들기 및 적용

다음 섹션에서는 사용자 지정 리본 메뉴를 만들고 적용하는 절차를 단계별로 설명합니다.

시작하기 전에

탐색 창에 시스템 테이블 표시    시스템 테이블은 기본적으로 탐색 창에 표시되지 않으므로 USysRibbons 테이블을 만든 후에 이를 볼 수 있도록 우선 탐색 옵션 대화 상자에서 설정을 변경해야 합니다. 그 절차는 다음과 같습니다.

  1. Access에 데이터베이스를 열어 두고 탐색 창의 위쪽에 있는 탐색 모음을 마우스 오른쪽 단추로 클릭한 다음, 바로 가기 메뉴에서 탐색 옵션을 클릭합니다.
  2. 탐색 옵션 대화 상자의 표시 옵션 아래에서 시스템 개체 표시 확인란을 선택한 다음, 확인을 클릭합니다.

Access 시스템 테이블이 탐색 창에 표시됩니다.

추가 기능의 사용자 인터페이스 오류 메시지 표시 사용    오류 메시지는 리본 메뉴 사용자 지정 XML을 만들고 문제를 해결하는 데 중요한 정보를 제공하므로 Access에서 이를 표시하도록 설정하는 것이 좋습니다. 그 절차는 다음과 같습니다.

  1. Microsoft Office 단추 단추 모양 를 클릭한 다음 Access 옵션을 클릭합니다.
  1. 고급을 클릭합니다.
  2. 일반 아래에서 추가 기능의 사용자 인터페이스 오류 표시 확인란을 선택한 다음, 확인을 클릭합니다.

USysRibbons 시스템 테이블 만들기

이 절차에 따라 USysRibbons 시스템 테이블을 만듭니다. 이 테이블은 나중에 리본 메뉴 사용자 지정 XML을 저장하는 데 사용됩니다.

  1. 만들기 탭의 테이블 그룹에서 테이블 디자인을 클릭합니다.
  1. 테이블에 다음 필드를 추가합니다. 필드 이름을 여기 나와 있는 대로 정확히 입력해야 합니다.
필드 이름 유형 필드 크기
ID 일련 번호 정수(Long)
RibbonName 텍스트 255
RibbonXml 메모
  1. 원하는 경우 리본 메뉴 XML의 기능을 설명하는 Comments 필드 등을 이 테이블에 추가할 수 있습니다.
  2. ID 필드를 선택하고 디자인 탭의 도구 그룹에서 기본 키를 클릭합니다.
  3. 빠른 실행 도구 모음에서 저장을 클릭하거나 Ctrl+S를 누릅니다. 새 테이블의 이름을 USysRibbons로 지정합니다.

USysRibbons 테이블에 리본 메뉴 사용자 지정 XML 추가

이 예제에서는 데이터베이스의 사용자가 만들기 탭에 있는 어떠한 도구도 사용할 수 없도록 하려는 경우를 가정합니다. 또한 다음 그림과 같이 붙여넣기 명령만 포함된 A Custom Tab이라는 새 탭을 만들려고 하는 것으로 가정합니다.

사용자 지정 리본 메뉴 탭

다음 절차에 나와 있는 XML에서 이 구성을 만듭니다.

  1. 탐색 창에서 USysRibbons 테이블을 마우스 오른쪽 단추로 클릭한 다음, 바로 가기 메뉴에서 데이터시트 보기를 클릭합니다.
  2. 테이블에 다음 데이터를 추가합니다. 이 문서의 XML 샘플을 복사하여 테이블에 곧바로 붙여 넣을 수도 있습니다.
ID RibbonName RibbonXML
(일련 번호) My Tab
<customUI xmlns="http://schemas.
microsoft.com/office/
2006/01/customui"> <ribbon startFromScratch="false"> <tabs> <tab idMso="TabCreate"
visible="false" /> <tab id="dbCustomTab"
label="A Custom Tab" visible="true"> <group id="dbCustomGroup"
label="A Custom Group"> <control idMso="Paste"
label="Built-in Paste"
enabled="true"/> </group> </tab> </tabs> </ribbon> </customUI>
  1. 이 XML에서는 먼저 Access가 "백지 상태에서 시작"하지 않도록 즉, Access에 기본 리본 메뉴 탭이 표시되도록 지시합니다. 그런 다음 기본 탭 중 하나(만들기 탭)를 숨기도록 Access에 지시합니다. 마지막으로 "A Custom Tab"이라는 새 리본 메뉴 탭을 만들고 "A Custom Group"이라는 명령 그룹을 이 탭에 추가한 다음, 붙여넣기 명령을 이 그룹에 추가합니다. 이 예제에 대한 자세한 내용과 사용자의 필요에 맞게 이를 수정하는 방법에 대한 자세한 내용은 XML 예제 이해 섹션을 참고하십시오. 
  2. USysRibbons 테이블을 닫은 다음, 데이터베이스를 닫았다 다시 엽니다.

사용자 지정 리본 메뉴 적용

사용자 지정 리본 메뉴 XML이 테이블에 저장되었으므로 이제 이 리본 메뉴를 전체 데이터베이스에 적용할지 아니면 특정 폼이나 보고서에 적용할지에 따라 다음 중 하나를 실행합니다. 

  • 전체 데이터베이스에 사용자 지정 리본 메뉴 적용    
    1. Microsoft Office 단추 단추 모양 를 클릭한 다음 Access 옵션을 클릭합니다.
  1. 현재 데이터베이스를 클릭한 다음, 리본 메뉴 및 도구 모음 옵션 아래에서 리본 메뉴 이름 목록을 선택하고 원하는 리본 메뉴(이 경우 My Tab)를 클릭합니다. 
  2. 확인을 클릭합니다.
  • 특정 폼 또는 보고서에 사용자 지정 리본 메뉴 적용    
  1. 탐색 창에서 사용자 지정 리본 메뉴를 적용할 폼이나 보고서를 마우스 오른쪽 단추로 클릭한 다음, 바로 가기 메뉴에서 디자인 보기를 클릭합니다.
  2. 속성 시트가 표시되어 있지 않으면 F4 키를 눌러 표시합니다.
  3. 속성 시트 위쪽에 있는 선택 유형 목록에서 개체 유형( 또는 보고서)이 선택되어 있는지 확인합니다.
  4. 속성 시트의 기타 탭에서 리본 메뉴 이름 목록을 클릭하고 폼이나 보고서를 열 때 표시하려는 리본 메뉴(이 경우 My Tab)를 클릭합니다.
  5. 빠른 실행 도구 모음에서 저장을 클릭하거나 Ctrl+S를 누릅니다.
  6. 폼이나 보고서를 닫은 다음, 탐색 창에서 이를 두 번 클릭하여 다시 엽니다.

선택한 리본 메뉴가 표시됩니다.

사용자 지정 리본 메뉴가 제대로 작동하는 것을 확인한 후 다음과 같이 시스템 테이블을 다시 숨길 수 있습니다.

  1. 탐색 창의 위쪽에 있는 탐색 모음을 마우스 오른쪽 단추로 클릭한 다음, 바로 가기 메뉴에서 탐색 옵션을 클릭합니다.
  2. 탐색 옵션 대화 상자의 표시 옵션 아래에서 시스템 개체 표시 확인란을 선택 취소한 다음, 확인을 클릭합니다.

맨 위로 이동 맨 위로 이동

기본 리본 메뉴 복원

사용자 지정 리본 메뉴의 사용을 중지하고 기본 리본 메뉴를 복원하려면 사용자 지정 리본 메뉴가 전체 응용 프로그램에 사용되는지 아니면 특정 폼이나 보고서에 사용되는지에 따라 다음 절차 중 하나를 사용합니다.

기본 응용 프로그램 수준의 리본 메뉴 복원

  1. Microsoft Office 단추 단추 모양 를 클릭한 다음 Access 옵션을 클릭합니다.
  1. 현재 데이터베이스를 클릭하고 리본 메뉴 및 도구 모음 옵션 아래에서 리본 메뉴 이름 상자의 내용을 삭제합니다.
  2. 데이터베이스를 닫은 다음 다시 엽니다.

Access에서 기본 리본 메뉴 탭이 표시됩니다. 리본 메뉴 XML은 사용자가 이를 삭제하기 전까지 USysRibbons 테이블에 계속 보존되므로 원하는 경우 리본 메뉴 이름 옵션을 이전에 입력한 값으로 되돌려 사용자 지정 리본 메뉴를 다시 사용할 수 있습니다.

폼 또는 보고서의 기본 리본 메뉴 복원

  1. 디자인 보기에서 폼이나 보고서를 엽니다.
  2. 속성 시트가 표시되어 있지 않으면 F4 키를 눌러 표시합니다.
  3. 속성 시트 위쪽에 있는 선택 유형 목록에서 개체 유형( 또는 보고서)이 선택되어 있는지 확인합니다.
  4. 속성 시트의 기타 탭에서 리본 메뉴 이름 속성 상자의 내용을 삭제합니다.
  5. 폼이나 보고서를 저장하고 닫은 다음 다시 엽니다.

리본 메뉴 XML은 사용자가 이를 삭제하기 전까지 USysRibbons 테이블에 계속 보존되므로 원하는 경우 리본 메뉴 이름 속성의 값을 이전에 입력한 값으로 되돌려 사용자 지정 리본 메뉴를 다시 사용할 수 있습니다.

맨 위로 이동 맨 위로 이동

XML 예제 이해

아래에는 이 문서의 앞부분에서 사용한 XML 예제와 이를 통해 만든 사용자 지정 리본 메뉴가 나와 있습니다.

<customUI xmlns="http://schemas.microsoft.com/
office/2006/01/customui"> <ribbon startFromScratch="false"> <tabs> <tab idMso="TabCreate" visible="false" /> <tab id="dbCustomTab" label="A Custom Tab"
visible="true"> <group id="dbCustomGroup" label="A Custom Group"> <control idMso="Paste" label="Built-in Paste"
enabled="true"/> </group> </tab> </tabs> </ribbon> </customUI>

사용자 지정 리본 메뉴 탭

이 XML 예제의 두 번째 줄에서 startFromScratch 특성을 False로 설정합니다. 이 값을 False로 설정하면 Access에서 기존의 모든 탭을 그대로 둔 채 모든 새로운 탭을 기존 탭의 오른쪽에 추가합니다. 이 특성을 True로 설정하면 기존의 탭이 모두 제거되고 사용자가 XML에서 만든 탭만 표시됩니다. startFromScratch 특성을 False로 설정하더라도 개별 탭을 숨길 수 있습니다. XML의 네 번째 줄에서 바로 이 기능을 활용하여 기본 제공 만들기 탭을 숨깁니다. 나머지 줄에서는 사용자 지정 탭과 사용자 지정 그룹을 만든 다음, 기본 제공 붙여넣기 명령을 이 그룹에 추가합니다. 여기에 사용되는 XML은 다음과 같습니다.

<control idMso="Paste" label="Built-in Paste" 
enabled="true"/>

사용자 지정 리본 메뉴에 다른 그룹 또는 컨트롤 추가    유사한 XML 줄을 추가하고 idMsolabel 값을 수정하여 더 많은 그룹과 컨트롤을 리본 메뉴에 추가할 수 있습니다. 예를 들어 다음 XML을 사용하면 현재 선택된 개체를 Excel로 내보내는 컨트롤을 만들 수 있습니다.

<control idMso="ExportExcel" label="Export to Excel" 
enabled="true"/>

붙여넣기 명령과 같은 그룹에 컨트롤을 추가하려면 붙여넣기 명령을 만드는 줄 바로 앞이나 뒤에 새 XML 줄을 삽입합니다. 새 그룹을 만들려면 앞서 A Custom Group 그룹을 만드는 데 사용한 XML을 복사하여 붙여 넣고 이를 필요에 따라 수정합니다. 다음 예제에서는 사용자 지정 그룹에 컨트롤 두 개를 추가하는 XML을 보여 줍니다.

<customUI xmlns="http://schemas.microsoft.com/office/
2006/01/customui"> <ribbon startFromScratch="false"> <tabs> <tab idMso="TabCreate" visible="false" /> <tab id="dbCustomTab" label="A Custom Tab"
visible="true"> <group id="dbCustomGroup" label="A Custom Group"> <control idMso="Paste" label="Built-in Paste"
enabled="true"/> </group> <group id="dbCustomGroup2"
label="Another Custom Group">
<control idMso="ImportExcel"
label="Import from Excel" enabled="true"/>
<control idMso="ExportExcel"
label="Export to Excel" enabled="true"/>
</group> </tab> </tabs> </ribbon> </customUI>

이 XML은 A Custom Tab에 다른 그룹을 추가합니다. 다음 그림에서와 같이 새 그룹에는 컨트롤 두 개가 포함됩니다. 그 중 하나는 Excel에서 가져오기 작업을 시작하는 데 사용되고, 다른 하나는 Excel로 내보내기 작업을 시작하는 데 사용됩니다. 

두 개의 그룹이 포함된 사용자 지정 리본 메뉴 탭

 참고   사용자 지정 리본 메뉴의 각 group id 값과 tab id 값은 중복되지 않아야 합니다.

명령의 idMso 값 설명    다음 절차를 사용하면 기본 제공 명령의 idMso 값을 이해하는 데 도움이 됩니다.

  1. Microsoft Office 단추 단추 모양 를 클릭한 다음 Access 옵션을 클릭합니다.
  1. 사용자 지정을 클릭합니다.
  2. 정보가 필요한 항목 위로 포인터를 가져갑니다. Access에서 컨트롤의 idMso 값이 괄호 안에 스크린 팁으로 표시됩니다.

Access 매크로를 실행하는 명령 추가    Access 매크로를 실행하는 명령을 추가하여 사용자 지정 리본 메뉴를 훨씬 더 융통성 있게 활용할 수 있습니다. 예를 들어 MyMacro라는 매크로를 만든 경우를 생각해 봅시다. 이 매크로를 실행하는 명령을 리본 메뉴에 추가하려면 XML에 다음 줄을 추가합니다.

<button id="RunMyMacro" label="Run My Macro" 
onAction="MyMacro"/>

이전 예제의 붙여넣기 명령과 같은 그룹에 이 컨트롤을 추가하려면 붙여넣기 명령을 만드는 줄 바로 앞이나 뒤에 새 XML 줄을 삽입합니다. 다음 예제에서는 명령을 추가하는 XML을 보여 줍니다.

<customUI xmlns="http://schemas.microsoft.com/office/
2006/01/customui"> <ribbon startFromScratch="false"> <tabs> <tab idMso="TabCreate" visible="false" /> <tab id="dbCustomTab" label="A Custom Tab"
visible="true"> <group id="dbCustomGroup" label="A Custom Group"> <control idMso="Paste" label="Built-in Paste"
enabled="true"/> <button id="RunMyMacro" label="Run My Macro"
onAction="MyMacro"/>
</group> <group id="dbCustomGroup2"
label="Another Custom Group"> <control idMso="ImportExcel"
label="Import from Excel" enabled="true"/> <control idMso="ExportExcel"
label="Export to Excel" enabled="true"/> </group> </tab> </tabs> </ribbon> </customUI>

매크로 만들기에 대한 자세한 내용은 참고 항목의 링크를 참고하십시오.

맨 위로 이동 맨 위로 이동

 
 
적용 대상:
Access 2007