2012-09-04 5 views
3

Excel 용 리본 막대가 포함 된 VSTO 2010 프로젝트를 만들었지 만 일부 고객이 Office 2007을 실행하게됩니다.Office 2007에서 Excel VSTO 2010 추가 기능을 실행할 수 있습니까?

2007 년에 설치하려고했습니다. (리본은 실행중인 추가 기능으로 나열되지만 Excel의 리본 탭에는 나타나지 않습니다). 나는 this SO question (2010 레퍼런스 dll을 2007 레퍼런스 dll로 대체)에 언급 된 단계를 따라했지만 성공하지는 못했었다.

새로운 2007 프로젝트 (개발 컴퓨터에서 Office 2010을 제거하고 대신 2007을 설치하는 것이 포함됨)를 만드는 것을 피하는 모든 제안은 매우 매우입니다.

감사합니다.

답변

5

가. 리본 XML의 스키마에 문제가있는 것으로 밝혀졌습니다. 리본 XML을 단일 레이블로 제거하고 XML의 컨트롤 중 하나인지 여부를 확인하여 비 호환성 문제를 일으켰습니다.

xmlns="http://schemas.microsoft.com/office/2006/01/customui" 

리본 리본의 증상에 장착하는 즉시 출연 : 우리는

xmlns="http://schemas.microsoft.com/office/2009/07/customui" 

를 (아마도 예에서 복사)하지만 우리가 그것을 변경하면 사용하고

실행중인 추가 기능으로 나타나지만 Excel 자체에서는 표시되지 않습니다. 앞에서 언급했듯이 (자세한 내용은 this SO post 참조) v12 office 및 interop dll을 사용해야합니다.

2

당신은 옆에 2007 년과 2010면을 설치하고 명령 줄에서 다음, 또는 배치 파일이 배치 실행하여 둘 사이의 전환 문제를 방지하려면 작동 할 수 있습니다에 관해서는

reg add HKCUSoftwareMicrosoftOffice14.0WordOptions /f /v NoReReg /t REG_DWORD /d 1 
reg add HKCUSoftwareMicrosoftOffice14.0ExcelOptions /f /v NoReReg /t REG_DWORD /d 1 
reg add HKCUSoftwareMicrosoftOffice14.0PowerPointOptions /f /v NoReReg /t REG_DWORD /d 1 
reg add HKCUSoftwareMicrosoftOffice14.0AccessOptions /f /v NoRepairNeeded /t REG_DWORD /d 1 

reg add HKCUSoftwareMicrosoftOffice12.0WordOptions /f /v NoReReg /t REG_DWORD /d 1 
reg add HKCUSoftwareMicrosoftOffice12.0ExcelOptions /f /v NoReReg /t REG_DWORD /d 1 
reg add HKCUSoftwareMicrosoftOffice12.0PowerPointOptions /f /v NoReReg /t REG_DWORD /d 1 
reg add HKCUSoftwareMicrosoftOffice12.0AccessOptions /f /v NoRepairNeeded /t REG_DWORD /d 1 

귀하의 코드, 12 및 14에 대한 Excel Interop 코드가 다소 상호 교환 가능하다는 것을 알게되었습니다. Excel Interop 14에서 12가 아닌 것을 사용하고 있습니까?

두 개의 프로젝트가 이상적으로 보이지 않을 수도 있지만이 경로를 사용해야 할 수도 있습니다. 위쪽은 2007 프로젝트의 모든 것을 작성하고 2010 프로젝트에 복사/붙여 넣기를하는 경우 거의 모든 것을 복사하여 붙여 넣을 수 있다는 것입니다.

희망이 있습니다.

+0

JMK에 회신 해 주시고, v12와 v14가 호환되어야한다는 확인을 보내 주셔서 감사합니다 (14에서 12로 다시 전환 할 때 변경해야하는 cell.DisplayFormat() 호출이 하나뿐입니다). 리본 XML 스키마를 수정하고 나면 모든 것이 잘되었으므로 비오는 날에 나란히 사무실 2007 및 2010을 실행하는 것을 저장하지 않겠습니다! – Ted

+0

문제가 없지만, 때때로 Excel Interop이 얼마나 고통 스러운지 알고 있습니다. 행운을 빈다. – JMK

관련 문제