VBA에서 Excel 2016 바로 가기 메뉴를 사용자 지정하는 방법

VBA에서 Excel 2016 바로 가기 메뉴를 사용자 지정하는 방법

Excel 2007 이전에는 VBA 프로그래머가 CommandBar 개체를 사용하여 사용자 지정 메뉴, 사용자 지정 도구 모음 및 사용자 지정 바로 가기(오른쪽 클릭) 메뉴를 만들었습니다. Excel 2007부터 CommandBar 개체는 다소 이상한 위치에 있습니다. 메뉴나 도구 모음을 사용자 지정하는 코드를 작성하면 Excel에서 해당 코드를 가로채고 많은 명령을 무시합니다.

세심한 인터페이스 개선 사항을 표시하는 대신 Excel 2007(나중 버전과 마찬가지로)은 사용자 지정된 메뉴와 도구 모음을 추가 기능이라는 포괄적인 리본 탭에 덤프합니다.

메뉴 및 도구 모음 사용자 정의는 추가 기능 → 메뉴 명령 또는 추가 기능 → 사용자 정의 도구 모음 그룹에서 끝납니다. 그러나 CommandBar 개체도 사용하는 바로 가기 메뉴를 사용자 지정하는 것은 여전히 ​​예전처럼 작동합니다.

결론은? CommandBar 개체는 더 이상 유용하지 않지만 바로 가기 메뉴를 사용자 지정하는 유일한 방법으로 남아 있습니다.

셀 바로 가기 메뉴에 새 항목 추가

아래에서 셀을 마우스 오른쪽 버튼으로 클릭할 때 나타나는 바로 가기 메뉴에 새 항목을 추가하는 샘플 코드를 찾을 수 있습니다. 이러한 예를 필요에 맞게 조정할 수 있어야 합니다.

셀 바로 가기 메뉴에서 사용할 수 있도록 하여 대소문자 변경 유틸리티를 약간 향상시킬 수 있습니다.

AddToShortcut 프로시저는 셀 바로 가기 메뉴에 새 메뉴 항목을 추가합니다. NewControl이라는 개체의 Caption 및 OnAction 속성을 변경하여 고유한 매크로를 가리키도록 조정할 수 있습니다.

하위 AddToShortCut()
  CommandBar로 희미한 막대
  CommandBarButton으로 Dim NewControl
  바로가기에서 삭제
  바 설정 = Application.CommandBars("셀")
  NewControl = Bar.Controls.Add _ 설정
     (유형:=msoControlButton, ID:=1, _
     임시:=참)
  NewControl과 함께
    .Caption = "대소문자 변경(&C)"
    .OnAction = "ChangeCase"
    .스타일 = msoButtonIconAndCaption
  종료
엔드 서브

바로 가기 메뉴를 수정하면 Excel을 다시 시작할 때까지 수정 사항이 적용됩니다. 즉, 수정된 바로 가기 메뉴는 VBA 코드가 포함된 통합 문서를 닫을 때 자체적으로 재설정되지 않습니다. 따라서 바로 가기 메뉴를 수정하는 코드를 작성하면 거의 항상 수정의 효과를 되돌리는 코드를 작성하게 됩니다.

DeleteFromShortcut 프로시저는 셀 바로 가기 메뉴에서 새 메뉴 항목을 제거합니다.

하위 DeleteFromShortcut()
  오류 시 다음 재개
  Application.CommandBars("셀").컨트롤 _
    ("대소문자 변경(&C)").삭제
엔드 서브

이것은 셀을 마우스 오른쪽 버튼으로 클릭한 후 새 메뉴 항목이 어떻게 표시되는지 보여줍니다.

VBA에서 Excel 2016 바로 가기 메뉴를 사용자 지정하는 방법

사용자 정의 메뉴 항목을 표시하는 셀 바로 가기 메뉴: 대소문자 변경.

몇 가지 변수 선언 후 첫 번째 실제 명령은 DeleteFromShortcut 프로시저를 호출합니다. 이 문은 바로 가기 셀 메뉴에 하나의 대소문자 변경 메뉴 항목만 표시되도록 합니다. 해당 줄에 주석을 달고(줄 시작 부분에 아포스트로피를 넣음) 절차를 몇 번 실행해 보십시오.

셀을 마우스 오른쪽 버튼으로 클릭하면 Change Case 메뉴 항목의 여러 인스턴스를 볼 수 있습니다. DeleteFromShortcut을 여러 번 실행하여 모든 항목을 제거하십시오(각 추가 메뉴 항목에 대해 한 번).

마지막으로 통합 문서를 열 때 바로 가기 메뉴 항목을 추가하고 통합 문서를 닫을 때 메뉴 항목을 삭제하는 방법이 필요합니다. 이렇게 하는 것은 쉽습니다. ThisWorkbook 코드 모듈에 다음 두 이벤트 프로시저를 추가하기만 하면 됩니다.

비공개 하위 통합 문서_Open()
AddToShortCut 호출
엔드 서브
Private Sub Workbook_BeforeClose(Cancel As Boolean)
DeleteFromShortcut 호출
엔드 서브

Workbook_Open 프로시저는 통합 문서가 열릴 때 실행되고 Workbook_BeforeClose 프로시저는 통합 문서가 닫히기 전에 실행됩니다. 의사가 지시한 대로만.

Excel 2013과 Excel 2016의 차이점은 무엇입니까?

VBA를 사용하여 Excel 2007 또는 이전 버전에서 바로 가기 메뉴로 작업한 경우 중요한 변경 사항을 알고 있어야 합니다.

과거에는 코드에서 바로 가기 메뉴를 수정한 경우 해당 수정 사항이 모든 통합 문서에 적용되었습니다. 당신이 셀을 마우스 오른쪽 클릭 메뉴에 새 항목을 추가 한 경우에 셀을 마우스 오른쪽 버튼으로 클릭 할 때 예를 들어, 새 항목이 나타나는 것을 어떤 통합 문서 (플러스 당신이 나중에 열어야 다른 통합 문서). 즉, 응용 프로그램 수준 에서 바로 가기 메뉴 수정이 이루어졌습니다 .

Excel 2013 및 Excel 2016은 단일 문서 인터페이스를 사용하며 이는 바로 가기 메뉴에 영향을 줍니다. 바로 가기 메뉴에 대한 변경 사항은 활성 통합 문서 창에만 영향을 줍니다. 바로 가기 메뉴를 수정하는 코드를 실행하면 활성 창 이외의 창에 대한 바로 가기 메뉴는 변경되지 않습니다. 이것은 이전의 작동 방식에서 근본적으로 벗어났습니다.

또 다른 변형: 활성 창에 수정된 바로 가기 메뉴가 표시될 때 사용자가 통합 문서를 열거나 새 통합 문서를 만들면 새 통합 문서에도 수정된 바로 가기 메뉴가 표시됩니다. 즉, 새 창은 새 창이 열릴 때 활성화된 창과 동일한 바로 가기 메뉴를 표시합니다.

결론: 과거에는 통합 문서를 열거나 바로 가기 메뉴를 수정한 추가 기능을 열면 수정된 바로 가기 메뉴를 모든 통합 문서에서 사용할 수 있다고 확신할 수 있었습니다. 당신은 더 이상 그런 확신이 없습니다.

Access 2007에서 사용자 정의 바로 가기 메뉴 만들기

Access 2007의 매크로 디자인 창은 이후 버전과 다르므로 Access 2007을 사용하는 경우 다음 섹션을 확장하여 따라하세요.

Access 2007의 1단계: 메뉴 명령이 포함된 매크로 그룹 만들기

이 단계에서는 각 매크로가 바로 가기 메뉴에서 별도의 명령이 되는 매크로 그룹을 만듭니다.

매크로 그룹이란 무엇입니까?

매크로 그룹은 두 개 이상의 독립적인 매크로를 포함하는 단일 매크로 개체입니다. 개별 매크로는 매크로 이름 열에 각 매크로의 이름을 입력하여 식별됩니다. 다음 그림에서  Macro3은  매크로 그룹입니다. NotFoundMsg  및  FoundMsg  는 그룹 내의 개별 매크로이며, 각 매크로는 두 개의 매크로 작업으로 구성됩니다.

매크로 그룹 예

참고:  매크로  이름  열은 기본적으로 숨겨져 있습니다. 매크로 이름  열을  표시하려면  디자인  탭  의 표시/숨기기  그룹  에서 매크로 이름 을 클릭합니다 .

  1. 만들기  탭  의  기타  그룹  에서 매크로 를 클릭합니다 . 이 명령을 사용할 수 없는 경우 모듈  또는  클래스 모듈 단추 아래에 있는 화살표를 클릭   한 다음  매크로 를 클릭합니다 .

  2. 디자인  탭  의  표시/숨기기  그룹  에서 매크로 이름을 클릭하여 매크로 이름 열을  표시합니다   .

  3. 사용자 정의 바로 가기 메뉴에 원하는 각 명령에 대해 다음을 수행합니다.

    • 매크로  이름  열에 바로 가기 메뉴에 표시할 텍스트(예: "보고서 인쇄" 또는 "저장")를 입력합니다.

      참고:  키보드를 사용하여 명령을 선택할 수 있도록 선택 키를 생성하려면 명령 이름에서 선택 키로 사용할 문자 앞에 앰퍼샌드(&)를 입력합니다(예: "&Save"). 이 문자는 메뉴에 밑줄이 그어져 있습니다.
    • 작업 열 에서   바로 가기 메뉴의 명령을 클릭할 때 수행할 첫 번째 작업을 선택합니다.

    • 이 명령을 선택할 때 수행할 작업이 더 있으면 후속 라인에 추가하십시오. 각 후속 작업에 대해  매크로 이름  셀을 비워 둡니다.

      참고:  두 메뉴 명령 사이에 줄을 만들려면  해당 메뉴 명령 사이의 매크로 이름 열에 하이픈(-)을 입력하십시오  .
  4. 매크로를 저장하고 이름을 지정합니다(예:   mcrShortcutMenuCommands ) .

다음 그림은 사용자 정의 메뉴 또는 바로 가기 메뉴에 대한 매크로 그룹의 예를 보여줍니다.

디자인 보기의 메뉴 매크로 그룹

Access 2007의 2단계: 메뉴를 만드는 매크로 만들기

이 단계는 중복되는 것처럼 보일 수 있지만 1단계에서 만든 매크로 그룹에서 바로 가기 메뉴를 만들려면  AddMenu  매크로 함수가 포함된 두 번째 매크로를 만들어야 합니다. 이 매크로를 "메뉴 매크로"라고도 합니다.

  1. 만들기  탭  의  기타  그룹  에서 매크로 를 클릭합니다 . 이 명령을 사용할 수 없는 경우 모듈  또는  클래스 모듈 단추 아래에 있는 화살표를 클릭   한 다음  매크로 를 클릭합니다 .

  2. 매크로의 첫 번째 줄에 있는  작업 목록  에서  AddMenu를 선택합니다  .

  3. 동작 인수 아래의  메뉴 이름 상자 에   메뉴 이름(예: "보고서 명령")을 입력합니다. 이 인수는 필수는 아니지만 3단계에서 리본 탭(예:   폼 또는 보고서의 추가 기능 탭)에 메뉴를 추가하려는 경우 권장됩니다. 메뉴가 3단계에서 바로 가기 메뉴로 추가되면  메뉴 이름  인수가 무시됩니다.

  4. 메뉴 매크로 이름 상자 에   1단계에서 생성한 매크로 이름을 입력합니다.

  5. 매크로를 저장하고 이름을 지정합니다(예:  mcrAddShortcutMenu ) .

다음 그림은 1단계에서 디자인한 메뉴를 생성하는 메뉴 매크로의 예를 보여줍니다.

디자인 보기의 메뉴 매크로

Access 2007의 3단계: 컨트롤, 폼, 보고서 또는 데이터베이스에 메뉴 연결

메뉴를 표시하려는 위치에 따라 다음 절차 중 하나 이상을 사용하십시오.

  • 폼 또는 보고서의 추가 기능 탭에 메뉴 추가

     다음 그림과 같이 특정 폼이나 보고서에 대한 추가 기능 탭 에 메뉴를 표시하려면 이 절차를 사용하십시오  .

    사용자 정의 메뉴가 포함된 추가 기능 탭

    1. 탐색 창에서 메뉴를 표시할 폼이나 보고서를 마우스 오른쪽 단추로 클릭한 다음  디자인 보기를 클릭합니다 .

    2. 디자인  탭  의  표시/숨기기  그룹  에서 속성 시트 를 클릭합니다 .

    3.  속성 시트 작업창 위쪽에 있는 목록에서 양식  또는  보고서를 선택하여 전체 개체를 선택합니다  .

    4.  속성 시트의  기타 탭 에 있는  바로 가기 메뉴  속성 상자에 2단계에서 만든 매크로 이름(이 예에서는 "mcrAddShortcutMenu")을 입력합니다.

      다음에 폼이나 보고서를 열면   리본에 추가 기능 탭이 나타납니다. 탭을 클릭하시면 메뉴를 보실 수 있습니다.

      사용자 지정 탭 추가, 기본 탭 숨기기 등 리본 사용자 지정 기술에 대한 자세한 내용은  Access에서 사용자 지정 리본 만들기 문서를 참조하세요 .

      리본은 Microsoft Office Fluent 사용자 인터페이스의 구성 요소입니다.

  • 폼, 보고서 또는 컨트롤에 대한 바로 가기 메뉴로 메뉴 추가

    다음 그림과 같이 특정 폼, 보고서 또는 컨트롤을 마우스 오른쪽 단추로 클릭할 때 메뉴가 나타나도록 하려면 이 절차를 사용하십시오.

    간단한 바로가기 메뉴

    1. 탐색 창에서 바로 가기 메뉴를 표시할 폼이나 보고서를 마우스 오른쪽 단추로 클릭한 다음  디자인 보기를 클릭합니다 .

    2. 디자인  탭  의  표시/숨기기  그룹  에서 속성 시트 를 클릭합니다 .

    3. 바로 가기 메뉴를 첨부할 컨트롤이나 개체를 선택합니다.

      참고:  전체 개체를 선택하려면   속성 시트 작업창 위쪽에 있는 목록에서 양식  또는  보고서를 선택합니다.

    4.  속성 시트의  기타 탭 에 있는  바로 가기 메뉴 표시줄  속성 상자에 2단계에서 생성한 매크로 이름(이 예에서는 "mcrAddShortcutMenu")을 입력합니다.

  • 메뉴를 전역 바로가기 메뉴로 추가

    이 절차는 현재 데이터베이스의 모든 기본 바로 가기 메뉴를 대체합니다. 특정 폼, 보고서 또는 컨트롤에 연결한 사용자 지정 바로 가기 메뉴는 영향을 받지 않습니다.

    1. Microsoft Office 단추를 클릭   한 다음  액세스 옵션 을 클릭합니다 .

    2. Access 옵션  대화 상자  에서  현재 데이터베이스 를 클릭합니다 .

    3. 리본 및 도구 모음 옵션 아래  바로 가기 메뉴 모음 상자 에   2단계에서 생성한 매크로 이름(이 예에서는 "mcrAddShortcutMenu")을 입력합니다.

  • 사용자 정의 바로 가기 메뉴는 연결된 개체의 기본 바로 가기 메뉴를 대체합니다. 이러한 메뉴에서 사용할 특정 Access 명령을 유지하려면  RunCommand  작업을 사용하여 해당 명령을 원하는 메뉴의 매크로 그룹에 넣으십시오.

  • 컨트롤에 연결된 사용자 정의 바로 가기 메뉴는 데이터베이스에 정의된 다른 사용자 정의 바로 가기 메뉴보다 우선합니다. 폼이나 보고서에 연결된 사용자 지정 바로 가기 메뉴는 사용자 지정 전역 바로 가기 메뉴를 대체합니다.

  • 폼이나 보고서 또는 데이터베이스에 대해 메뉴 매크로를 지정하면 Access에서는 폼, 보고서 또는 데이터베이스가 열릴 때마다 이 메뉴 매크로가 실행됩니다. 폼, 보고서 또는 데이터베이스가 열려 있는 동안 메뉴 매크로나 해당 명령을 정의하는 매크로 그룹을 변경하는 경우 폼, 보고서 또는 데이터베이스를 닫았다가 다시 열어 변경 내용을 확인해야 합니다.

  • 하위 메뉴를 만들려면 1단계에 따라 하위 메뉴 명령만 포함하는 별도의 매크로 그룹을 만듭니다. 그런 다음 1단계를 다시 수행하여 상위 수준 메뉴에 대한 명령을 정의합니다. AddMenu 매크로 함수 를 사용하여 하위 메뉴를 상위 매크로 그룹의 항목으로 추가합니다   . 다음 그림은 하위 메뉴가 포함된 메뉴의 매크로 그룹과 결과 바로 가기 메뉴를 보여줍니다. 매크로 그룹의 세 번째 줄은  내보내기 대상...  하위 메뉴( mcrSubMenu )를 만듭니다.

    하위 메뉴가 포함된 바로 가기 메뉴

     각 메뉴 수준의 매크로 그룹에서 AddMenu 작업을 사용하여 여러 수준의 하위 메뉴를 만들 수 있습니다  .  각  AddMenu 작업에 대해 메뉴 이름 인수 에 값을 제공해야 합니다   . 그렇지 않으면 하위 메뉴가 상위 수준 메뉴에 빈 줄로 나타납니다.

  • 매크로 조건은 최상위 메뉴 매크로에서만 지원됩니다. 즉, 메뉴 매크로의 조건을 사용하여 특정 메뉴나 바로 가기 메뉴를 표시할지 여부를 결정할 수 있지만 이는 최상위 메뉴에만 해당됩니다. 조건을 사용하여 메뉴의 명령이나 하위 메뉴를 표시하거나 숨길 수 없습니다. 조건을 사용하여 사용자 정의 바로 가기 메뉴 또는 전역 바로 가기 메뉴를 숨기거나 표시할 수도 있습니다.

  • 선택적으로 2단계에서 생성한 메뉴 매크로가 매크로 그룹의 일부가 될 수 있습니다. 예를 들어, 다양한 개체나 컨트롤에 대한 여러 개의 바로 가기 메뉴가 있는 경우 필요한 메뉴 매크로가 모두 포함된 단일 매크로 개체를 만들 수 있습니다. 매크로 이름  열을 표시하고 각 매크로에 대한 고유한 이름을 입력 하십시오  . 3단계에서는 매크로를 참조하기 위해 다음 표기법을 사용합니다:  Macrogroupname.macroname . 예를 들어  mcrAddShortcutMenus.AddMenu2 입니다 .


스마트시트 9.1.1

스마트시트 9.1.1

Smartsheet는 프로젝트를 관리하고, 워크플로를 구축하고, 팀과 협업할 수 있는 동적 작업 플랫폼입니다.

공유 지점

공유 지점

SharePoint는 다양한 워크플로 응용 프로그램, "목록" 데이터베이스 및 기타 웹 구성 요소는 물론 보안 기능을 사용하여 비즈니스 그룹의 공동 작업을 제어하는 ​​웹 기반 공동 작업 시스템입니다.

퍼페추얼 캘린더 1.0.38/1.0.36

퍼페추얼 캘린더 1.0.38/1.0.36

반니엔 캘린더(Van Nien Calendar)는 휴대폰에서 달력 보기 애플리케이션으로, 휴대폰에서 태음태양일을 빠르게 확인하고 중요한 업무를 정리할 수 있도록 도와줍니다.

마이크로소프트 아웃룩 2021

마이크로소프트 아웃룩 2021

Microsoft Outlook은 Microsoft Corporation에서 개발한 비즈니스 및 생산성 응용 프로그램입니다.

클릭업

클릭업

ClickUp은 모든 비즈니스에서 가장 높은 평가를 받는 생산성 플랫폼 중 하나입니다. Google, Booking.com, San Diego Padres 및 Uber와 같은 대기업은 모두 ClickUp을 사용하여 직장 생산성을 높입니다.

PDF-XChange 뷰어 2.5.322.10

PDF-XChange 뷰어 2.5.322.10

PDF는 텍스트 문서를 읽고, 만들고, 보내는 데 일반적으로 사용되는 형식이 되었습니다. 결과적으로 이러한 유형의 문서화에 사용되는 프로그램 수가 증가했습니다. PDF-XChange Viewer는 점점 더 많은 PDF 뷰어 중 하나입니다.

아파치 오픈오피스

아파치 오픈오피스

Apache OpenOffice는 특히 Excel, PowerPoint 및 Word에서 Microsoft 365에 필적하는 완전한 Office 애플리케이션 제품군을 제공합니다. 프로젝트를 보다 효과적으로 관리할 수 있으며 다양한 파일 형식을 지원합니다.

iTaxviewer 1.8.7 다운로드

iTaxviewer 1.8.7 다운로드

iTaxViewer 소프트웨어는 오늘날 가장 널리 사용되는 XML 파일 읽기 소프트웨어입니다. 이 소프트웨어는 국세청의 XML 형식으로 된 전자 세금 신고서를 읽기 위한 애플리케이션입니다.

니트로 PDF 리더

니트로 PDF 리더

Nitro PDF Reader는 대부분의 사람들이 PDF 문서로 매일 수행하는 모든 기본 작업을 다루는 편리한 PDF 편집기입니다.

Foxit 리더 12

Foxit 리더 12

Foxit Reader는 기본적으로 PDF 리더이며 PDF 파일을 생성하고, 서명하고, 편집하고, 주석을 추가할 수도 있습니다. 운영 체제에서 작동하며 Microsoft Office 패키지의 다양한 프로그램에 대한 플러그인이 있습니다.