Добавление презентации во вновь открытое приложение PowerPoint — исключение

Я хочу запустить экземпляр PowerPoint, добавить в него презентацию таким образом, чтобы ее окно было скрыто (либо новое, либо существующее, оба приводят к одной и той же проблеме). Однако во время выполнения в PowerPoint я получаю сообщение об ошибке: Application (unknown-member): Invalid request. There is no active presentation.

Когда окно видно или уже открыт экземпляр PowerPoint хотя бы с одной презентацией, он работает без проблем. Более того, когда я нажимаю «Конец» в этой ошибке времени выполнения, он все равно правильно создает презентацию. Я пытался использовать как оболочку NetOffice, так и сам Interop.

Я использую 32-разрядную версию Office 2016.

var app = new Application();
var ppt = app.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoFalse);
// Or using NetOffice, which basically uses different namespaces
var netApp = new PowerPoint.Application();
var netPPt = netApp.Presentations.Add(MsoTriState.msoFalse);

Я хотел бы иметь возможность добавить презентацию в скрытое окно, так как с netApp.Presentations.Add(MsoTriState.msoTrue) это работает просто отлично.


person blaz11    schedule 04.01.2019    source источник


Ответы (1)


Для PowerPoint 2000 и более поздних версий приложение должно быть видимым. Вы можете включить это, используя следующие

if (app.Version >= 9)
{
    app.Visible = Microsoft.Office.Core.MsoTriState.msoTrue;
}

Подробнее см. в этой статье:

https://support.microsoft.com/en-us/help/285472/run-time-error-2147188160-on-activewindow-or-activepresentation-call-i

person Droxx    schedule 04.01.2019