2012-08-07 5 views
3

나는 Excel AddIn을 쓰고 있습니다. 리본을 사용합니다. 여기서 컨트롤은 통합 문서의 속성에 따라 사용/사용하지 않도록 설정됩니다.활성화 된 통합 문서가 변경 될 때의 이벤트

활성화하려면 통합 문서이 변경 될 때마다 리본 컨트롤의 상태를 업데이트해야합니다.

칩 피어슨의 사이트 그러나 나는 내 C# 추가 기능이 이벤트를 트리거 할 수 아니에요, how to do it in VBAhere 활성 Excel 통합 문서를 가져 오는 방법을 설명을 설명합니다.

+1

http://msdn.microsoft.com/en-us/library/office/aa168477(v=office.11).aspx –

답변

1

ThisAddIn클래스이 필요할 때 세워 보인다 이벤트에 다음 코드를 추가. // MSDN :

void Application_ActiveWorkbookChanges(Excel.Workbook Wb) 
    { 
     // TODO: Active Workbook has changed. Ribbon should be updated.  
    } 

    private void ThisAddIn_Startup(object sender, System.EventArgs e) 
    { 
     this.Application.WorkbookActivate += 
      new Excel.AppEvents_WorkbookActivateEventHandler 
       (Application_ActiveWorkbookChanges); 
     this.Application.WorkbookDeactivate += 
      new Excel.AppEvents_WorkbookDeactivateEventHandler 
       (Application_ActiveWorkbookChanges); 
    } 
+0

솔루션은 [페이지] (HTTP를 기반으로합니다. @TimWilliams 및 [이 초기 질문]에서 제안한 microsoft.com/en-us/library/office/aa168477(v=office.11).aspx) (http://stackoverflow.com/questions/7180318/c-sharp- using the-the-event-handler-workbookopen)를 사용합니다. –

+0

¿이 해결책이 효과적입니까? ¿ 잠재적 인 문제가 있습니까? –

관련 문제