2012-07-22 3 views
9

이되지 제안 : http://msdn.microsoft.com/en-us/library/ee519072(v=vs.110).aspxVS 2007을 사용하여 Office 2007 추가 기능을 만들 수 있습니까?

하지만,하지만를 ... 정말?

Office 2007은 여전히 ​​유비쿼터스입니다. 이미 지원을 중단 한 적이 없습니까? 나는 그것을 지원할 필요가 있으며, 이것은 VS2012를 사용할 수 없다는 것을 의미 할 것입니다.

또는이 제한 사항은 RC에만 적용됩니까? (부디). 또는 2010 년에 대상을 지정했지만 2007 년에도 계속 실행할 수있는 추가 기능을 만들 수 있습니까? (빨대에서 움츠림).

+0

그런 식으로 보일지 모르지만,이 시점에서 이것은 추측입니다. – JimmyPena

답변

3

당신은 Office addin that targets 2010, but that still works in Office 2007을 만들 수 있습니다 ... 그렇게하지 않습니다 말해. 트릭은 2010 년 대 2007 년에 interop 유형 및 이벤트가 무엇인지 알 필요가 있다는 것입니다. 2007 년에 존재하지 않는 이벤트 또는 클래스 멤버에 액세스하려고하면 문제가 발생합니다.

비주얼 스튜디오 2012은 오피스 2010 프로젝트 템플릿이 포함되어 있습니다. 또 다른 성가심/제한은 설치 프로젝트의 지원을 제거했기 때문에 우리가 플러그인을 릴리스 한 방법입니다. 설치 프로젝트는 replaced by InstallShield Limited Edition (ISLE)입니다.

+0

감사합니다. NoPIA는 어때요? 적어도 2007 년에는 작동하지 않을 것이라고 생각합니까? 내가 VS 2010 –

2

참고로 월 2013 년경, 난 그냥 엑셀 추가 기능 내가 get_Range에 대한 호출을 대체/제거했다

엑셀 2007에서 잘 실행하지만 get_Range은 항상 같았다 때문에 그 놀라운 없다는 것을 엑셀 2013을 대상으로 작성 해킹 비트.

#if PRE_VSTO_2012 
Excel.Range vsto_range = vsto_sheet.Cells.get_Range( 
    vsto_sheet.Cells[1, 1], 
    vsto_sheet.Cells[rowCount, colCount]) as Excel.Range; 
#else 
    Excel.Range top_left = vsto_sheet.Cells[ 1, 1 ]; 
    Excel.Range bottom_right = vsto_sheet.Cells[ rowCount, colCount ]; 
    Excel.Range vsto_range = vsto_sheet.Range[ top_left, bottom_right ]; 
#endif 

아직 InstallShield LE 패키지를 만들지 않았습니다. 그게 다음이야 ...

+2

:-(충실해야 할 것 같은데 "내가하면 Installshield LE 패키지를 만들 아직 여전히했습니다 그 다음에 할 ...입니다."-. 당신은 불쌍한 당신은 90 % 다라고 생각하지만, 사실 통증과 좌절의 90 %가 앞에 놓여 있습니다. 행운을 빈다. :-) –

+0

@GaryMcGill은 옳다. 처음에는 installshield를 사용하여 이전에 사용 가능한 설치 프로젝트와 비교할 때 끔찍한 악몽이었습니다. 행운을 빕니다 ;) –

관련 문제