2016-08-16 1 views

답변

2

내가 여러 추가 기능에서 이벤트 순서에 대한 구체적인 아무것도 찾지 못했습니다 (을하지만 난 년 전에 그것에 대해 뭔가을 읽은 생각) 그래서 나는

나는 간단한 테스트했다 나는 설정이 코드 중

private void ThisAddIn_Startup(object sender, System.EventArgs e) 
{   
    this.Application.WorkbookBeforeSave += Application_WorkbookBeforeSave; 
} 

void Application_WorkbookBeforeSave(Excel.Workbook Wb, bool SaveAsUI, ref bool Cancel) 
{ 
    System.Windows.Forms.MessageBox.Show("Add-in 1"); 
} 

하나 만들어 세 엑셀 추가 기능 내가 그것을 내가 Excel에서의 하나의 알파벳 순서대로 실행하는 경우 알고 싶어 같은 임의의 이름 준 추가 기능을 수 CEL = 사실

내가 왜 몰라하지만, Excel에서 항상 AAExcelAddin으로 ExcelAddin 2 첫째, 다음 ExcelAddin 1 및 완제품을 발사했다. 나는 다시 만들려고했는데 () 다른 순서로 다른 순서로 첫 번째로 내 솔루션을 청소하려고했지만 순서는 여전히 동일했다. (작성된 첫 번째 addin은 ExcelAddin 1이었다.) VS에서 실행하거나 그냥 시작하면 상관 없다. Excel 및 누름 Ctrl + S

위의 내용을 토대로 특정 추가 기능을 가정하는 코드에는 어떤 논리도 있어서는 안됩니다. 새로운 추가 기능으로 인해 주문이 중단되는지 여부는 알 수 없습니다.

또한이 취소 이벤트 중 하나를 사용하는 경우 (는 인수가을 취소했다) 것을 명심하고 당신이 그것을 취소 (취소 을 = 사실) 모든 다른 추가 기능은 이벤트를받을 여전히 것 실행하지만 Cancel 플래그는 이전 플래그에서 true로 설정됩니다.

필자의 경우, 처음에 추가 기능 (ExcelAddin 2)에서 취소 = true로 설정하고 다른 두 추가 기능도 이벤트를 수신했지만 저장이 취소됨에 따라 저장하지 못했습니다. 첫번째.

+0

정교한 테스트 와우 감사합니다. 네가 한 말을 의심 해. 나는 이것이 왜 문서화되지 않는지 궁금하다. 우리가 기대할 수있는 것을 알면 좋을 것입니다. –

관련 문제