Присоединить к открытому экземпляру Power Point - PullRequest
4 голосов
/ 22 июля 2011

Я пишу простой модуль, который использует Microsoft.Office.Interop.PowerPoint, чтобы определить, является ли слайд-шоу PowerPoint активным и, если да, то какой слайд в настоящее время представлен.Это прекрасно работает, когда я использую Microsoft.Office.Interop.PowerPoint.Presentation, чтобы открыть презентацию в своем коде.Если возможно, я хочу проверить, открыт ли экземпляр Power Point и, если это так, подключиться к нему, а не открывать новый экземпляр.

TIA

Ответы [ 2 ]

3 голосов
/ 22 июля 2011

Создайте новый Interop.PowerPoint.Application и проверьте, находится ли ваш файл в коллекции Presentations.

В отличие от Word или Excel, PowerPoint является приложением для одного экземпляра;Ваш новый экземпляр Application автоматически подключится к любой открытой копии PowerPoint.

2 голосов
/ 22 июля 2011

вы можете проверить, позвонив Marshal.GetActiveObject ("Powerpoint.Application") - это дает исключение, если powerpoint не работает ... см. http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.getactiveobject.aspx

Если он работает, это дает вам объект ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...