2012-11-05 6 views
2

리본 XML을 사용하여 Outlook 2010 및 2007에서 사용자 지정 리본을 만들려고합니다. 리본 용 XML 파일이 하나 있는데 Outlook 2010에서 리본이 잘 나타나고 일하고있다. 그러나 Outlook 2007에서는 작동하지 않습니다. Outlook 2007에는 리본이 없으므로 GetCustomUI() 함수에서 Application.Version을 사용하여 Outlook 버전을 검사합니다. 버전이> 14이면 XML 파일이로드됩니다. , 그리고 그것이 < 14 인 경우 commandbarcontrol을 사용하여 menubar를 생성하기 위해 서브 루틴을 호출했지만 이것이 작동하지 않습니다. 2007 년Outlook 2007 및 Outlook 2010 용 리본 XML 1 개

Protected Overrides Function CreateRibbonExtensibilityObject() As Microsoft.Office.Core.IRibbonExtensibility 
    Return New MyRibbon 
End Function 

Public Function GetCustomUI(ByVal ribbonID As String) As String Implements Microsoft.Office.Core.IRibbonExtensibility.GetCustomUI 
     If iOfficeVersion >= 14 Then 
      Return GetResourceText("MyRibbon.xml") 
     ElseIf iOfficeVersion < 14 Then 
      'Load commandbar UI 
     End If 
End Function 

가 어떻게 모두 아웃룩 2010과 2007을 지원하기 위해 리본 XML 기능을 사용합니까 Outlook을 시작하는 동안로드되지에서 추가?

답변

1

나는이 문제를 발견했다. 문제는 Office.dll (Office \ PIA \ Office14 \ Office.dll에 대한 C : \ Program Files (x 86) \ Microsoft Visual Studio 10.0 \ Visual Studio 도구) 속성 "Embed Interop Types"가 False로 설정되어 있습니다. 이 파일은 사용자 PC에서는 사용할 수 없습니다.