2012-02-02 2 views
1
접근

난 그냥 엑셀 2010로 시작하고 때 VSTO와-에 추가하고 신속하게이 코드에 의해 생성 된 예외로 난처한 상황에 빠진된다C# Excel 추가에 예외 수식 입력 줄을 선택하고 Range.Value

public void DoIt() 
{ 
     Excel.Range selectedRange = Application.Selection as Excel.Range; 
     if (selectedRange == null) 
     { 
      System.Windows.Forms.MessageBox.Show("Nothing selected"); 
     } 
     else if(selectedRange.Cells.Count > 0) 
     { 
      selectedRange[1, 1].Value = "=2+3"; // exception on this line. 
      selectedRange[selectedRange.Rows.Count, selectedRange.Columns.Count].Value = "Birthday"; 
     } 
} 

예외는 먼저 워크 시트의 단일 셀을 클릭하고 수식 입력 줄을 클릭 한 다음 위의 함수 (리본 버튼을 통해 호출 함)를 실행하여 재현 할 수 있습니다.

아무도 무슨 일이 일어 났는지 조언하고이 예외를 처리 할 수 ​​있습니까? 감사합니다.

+0

예외는 무엇입니까? 어느 선이 그것을 던집니까? –

+0

나는 그것을 묻고있다. "HRESULT의 예외 : 0x800A03EC" – Jake

+0

가능 : http://stackoverflow.com/questions/7099770/hresult-0x800a03ec-on-worksheet-range –

답변

2

수식 편집 모드에서 코드를 실행할 수 없기 때문에 예외입니다. 당신은 또한 다른 것들을 할 수 없습니다. 예를 들어 수식 입력 줄을 클릭하고 Ctrl-N을 클릭하면 일반적으로 새 통합 문서가 열립니다. 아무 반응이 없습니다.

나는 예외를 잡아서 Sub를 빠져 나가야한다고 생각한다. 이것은 정상적인 Excel 작업을 모방 할 것이다.

대부분의 Excel 리본 버튼이 수식 편집 모드에있는 것처럼 버튼을 비활성화하는 것이 가장 이상적입니다. 비록 그것이 가능한지 나는 모른다.

+0

Defintely a gotcha. 감사! – Jake