Как я могу инициализировать объекты NetOffice.WordApi, используя объекты Microsoft.Office.Interop?
У меня есть проект надстройки Microsoft Office на Visual Studio. Он использует Microsoft.Office.Interop.dll. В рамках логики кода мне нужно использовать NetOffice.WordApi вместо обычных сборок Interop. Мой вопрос заключается в следующем: поскольку NetOffice является оболочкой для Microsoft.Office.Interop.dll, как я могу инициализировать объекты NetOffice.WordApi, используя объекты Microsoft.Office.Interop (например, Application -> Application, INDocument -> NODocument или Table to Таблица)
1 ответ
Каждый класс в NetOffice имеет конструктор, который позволяет вам обернуть существующий __ComObject
:
public Application(COMObject parentObject, object comProxy) : base(parentObject, comProxy)
{
// ...
}
Первый параметр ожидает родительский NetOffice COMObject (которого у вас нет), поэтому передайте null
а второй твой __ComObject
,
Таким образом:
var wrappedApp = new Application(null, yourInteropObject);
Вы можете увидеть конструктор (а также просмотреть исходный код) здесь: https://github.com/caioproiete/NetOffice/blob/master/Source/Word/Classes/Application.cs#L101