Объект надстройки Word всегда равен нулю

#c# #vsto #office-addins #word #imanage

Вопрос:

Я пытаюсь получить объект надстройки iManage Word, используя следующий код

 using Com.iManage.WorkSiteAddinInterfaces;

public void ManageIManageWordAddIn()
{
    iManageExtensibility iManageAddinObj = null;

    (COMAddIn addin in Globals.ThisAddIn.Application.COMAddIns)
    {   
        string iManage2007orLater = "WorkSiteOffice2007Addins.Connect"

                if (addin.ProgId.Contains(iManage2007orLater))
                {
                    // If addin is connected, try to hijack the DocumentClose2 event
                    if (addin.Connect)
                    {
                        iManageAddinObj = addin.Object as iManageExtensibility; //addin.Object is null
                        // register to iManageAddinObj events here
                        iManageAddinObj.DocumentBeforeClose2  = IManageAddinObj_DocumentBeforeClose2;
                    }
                }
          }
}

private void IManageAddinObj_DocumentBeforeClose2(object Doc, ref bool IgnoreIManageClose, ref bool Cancel)
{
    IgnoreIManageClose = true;
    Cancel = true;
}
 

Надстройка подключена, но надстройка.Объект всегда возвращает значение null.

Ответ №1:

COMAddin.Object свойство не является COM-объектом, реализующим IDTExtensibility2 интерфейс etc. Надстройка потенциально может предоставить доступ к некоторому объекту, который она явно хочет предоставить. Если нет, то оно будет равно нулю.

Комментарии:

1. Спасибо, я понял, что не могу использовать этот подход.