2017-12-28 23 views
-1

매우 바보 같은 오류가 발생합니다. VSTO에 익숙하지 않아 Excel 파일의 위치를 ​​내 Addin의 일부 변수로 가져와야합니다. 코드에서 Microsoft.Office.Interop.Excel의엑셀 파일명 및 경로 오류 가져 오기 - C#

The name ActiveWorkBook does not exist in the current context. 

내가 추가 한 참조를하지만이 오류를 보여주는 :

string name = ActiveWorkbook.FullName; 

나는 오류 ActiveWorkbook 아래에 빨간 선을 얻고있다. 나는 이것에 익숙하지 않다. 나는 무엇인가 놓치고 있냐?

+1

나는 그것이 Application.Something.ActiveWorkbook이어야한다고 생각합니다. 정확한 이름을 기억하십시오. – Steve

답변

0

에 코드를 변경해야, 아래 참조 :

var wb = Globals.ThisAddIn.Application.ActiveWorkbook; 
    string name = wb.FullName; 

Programming VSTO Add-ins

참조

코드가 ThisAddIn 클래스 안에 있으면 직접 전화 할 수 있습니다. this.Application.ActiveWorkbook

+0

정말 고마워요. 나는 단지 문서를 참조 할 수있는 적절한 출처를 찾는다. Microsoft 설명서가 너무 혼란 스럽습니다. 어쨌든 고마워요. :) – Wocugon

0

ActiveWorkbook은 (는) 클래스가 아닙니다. 이것은 Application 인터페이스의 속성입니다. 클래스 이름 방식으로 호출 할 수 없습니다.

그런 다음, 당신은 엑셀 VSTO에서, 당신은 엑셀 응용 프로그램 모델에 액세스하려면 Globals.ThisAddIn.Application를 사용할 필요가 this.Application.ActiveWorkbook.FullName;

+2

추가 기능이므로 응용 프로그램 인스턴스가 이미있을 수 있습니다. 그는 단지 그 인스턴스의 속성을 사용해야합니다. – JuanR