문제

내가 개발하는 첫 단어 2007addin,나는 추가 OfficeRibbon 내 프로젝트입니다.에서 버튼을 클릭하 핸들러가 참조 하나는 현재 Word.DocumentWord.Application.

을 참조해 OfficeRibbon.Context 숙박 시설의 설명서를 말한 참조해야합니다 현재 Application 체입니다.그러나 그것은 항상 null.

누구나 아는 중

a)무언가가있는 경우에 필요하지 OfficeRibbon.Context 나타나 올바르게 채워?
b)이 있는 경우 다른 방법으로 저는 참조를 얻을 수 있습니다 이 단어는 응용 프로그램 또는 활동적인 단어주셔서 감사합니다.

Notes:

  • 내가 사용하여 VS2008SP1

  • 리본 메뉴가 초기화됩니다:리본 렌더링에 제대로 말씀내가 할 수 있습 단계 디버거는 모두를 통해 생성자 및 OnLoad 원;버튼을 클릭하 핸들러를 실행습니다.

  • 온라인 도움을 위해 이 숙박 시설;

OfficeRibbon.컨텍스트성

C#
public Object Context { get; internal set; }

체를 나타내는 관리자 창이나 응용 프로그램 인스턴스와 관련된 이 OfficeRibbon 개체입니다.

비고

Outlook 에서 이 숙박 시설을 참조하여 관리자 창에서는 이 OfficeRibbon 가 표시됩니다.

Excel,Word,PowerPoint,이 숙박 시설환 응용 프로그램 인스턴스에서는 이 OfficeRibbon 가 표시됩니다.

도움이 되었습니까?

해결책

또한 발생 이 문제를 만드는 동안 Excel2007 추가 기능을 사용하여 VS2008SP1.해결 방법을 사용했을 저장 응용 프로그램 internal static 숙박 시설에는 주요 기능 클래스에서 참조 이벤트 처리기 내에서 리본:

public partial class ThisAddIn
{
    internal static Application Context { get; private set; }

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        Context = Application;
    }
    ...
}

public partial class MyRibbon : OfficeRibbon
{
    private void button1_Click(object sender, RibbonControlEventArgs e)
    {
        DoStuffWithApplication(ThisAddIn.Context);
    }
    ...
}

다른 팁

도 참조 문서와 함께:

Globals.ThisDocument.[some item]

에서 그것을 얻을:

Globals.ThisAddIn.Application

는 동안 나는 몰라요 많은 변화에 대해 Office word2007 객체 모델,여기에 제가 설명을 사용하여 VBA 지식입니다.

응용 프로그램은 전세계적으로 사용할 수 있는 개체.또한,응용 프로그램입니다.ActiveDocument 얻어야 한다 당신이 처리하여 현재 문서입니다.

색:당신은 어떻게 추가하려고하는 리본 메뉴?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top