2013-04-17 1 views
1

여러 기능이있는 Excel 플러그인이 있습니다. 리본 메뉴에 "구성 설정"이라는 버튼이있어서 사용자가 몇 가지 옵션 (오른쪽 클릭 메뉴 포함 여부 또는 리본에 일부 버튼 표시 여부)을 허용할지 여부를 선택할 수 있습니다.Excel Addin을 프로그래밍 방식으로 다시로드하기

오른쪽 클릭 메뉴를 정의하거나 리본을 디자인하는 유일한 방법은 엑셀 추가 기능을 시작하는 것입니다.

로드 할 때 구성 파일을 확인하지만 사용자가 내 리본 단추를 사용하여 구성을 변경하면 Excel이 다시 열리거나 사용자가 수동으로 추가 기능을 다시로드하기 전까지 아무런 효과가 없습니다. 프로그래밍 방식으로이 작업을 수행 할 수있는 방법이 있습니까?

+0

마우스 오른쪽 버튼 클릭 메뉴 나 리본 메뉴는로드 할 때뿐만 아니라 추가 기능이 작동하는 동안에도 변경할 수 있습니다. –

답변

1

아마도 두 개의 추가 기능을 가질 수 있습니다. (Addin1, Addin2)

첫 번째 addin (Addin1)은 리본이 없지만 구성을 읽은 다음 다른 추가 기능 (Addin2)을 활성화합니다.

추가 기능을 사용하려면 다음 코드를 사용하십시오.

foreach (COMAddIn addin in Application.COMAddIns) 
{ 
    if (addin.ProgId.ToLower().Contains("addin2") && addin.Connect != true) 
    { 
     addin.Connect = true; 
    } 
} 
0

동일한 추가 기능 내에서 추가 기능을 다시로드 할 수 있다고 생각하지 않습니다. 나는 그것을 스스로 시험해 보았습니다. 단지 내리기가 저에게 효과적이었습니다.

그러나 사용자 지정 리본의 버튼 (예 : "Ribbon1"라는 이름의)은 "전역"객체를 통해 속성에 액세스하여 런타임에 변경할 수 있습니다

Globals.Ribbons.Ribbon1.myRibbonButton.Visible = false; 

는 희망이 도움이, 르그