#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. Спасибо, я понял, что не могу использовать этот подход.