Я получаю сообщение об ошибке:System.Runtime.InteropServices.COMException (0x80080005)
System.Runtime.InteropServices.COMException (0x80080005): Retrieving the COM class factory for component with CLSID {91493441-5A91-11CF-8700-00AA0060263B} failed due to the following error: 80080005.
для линии PowerPoint.Application PowerPoint_App = new PowerPoint.Application();
для этого блока кода здесь:
using (new Impersonator(Installs.Current.PPTUser, null, Installs.Current.PPTPassword))
{
PowerPoint.Application PowerPoint_App = new PowerPoint.Application();
PowerPoint.Presentation presentation = null;
try
{
PowerPoint_App.Visible = MsoTriState.msoTrue;
presentation = PowerPoint_App.Presentations.Open(
strPptFilePath, Microsoft.Office.Core.MsoTriState.msoFalse,
Microsoft.Office.Core.MsoTriState.msoFalse,
Microsoft.Office.Core.MsoTriState.msoTrue);
for (int i = 0; i < presentation.Slides.Count; i++)
{
readSlides(presentation, i);
}
presentation.Close();
PowerPoint_App.Quit();
}
catch (Exception ex)
{
strSuccess = ex.ToString();
MindMatrix.Libraries.Entities.ExceptionMessage.HandleException(ex, null);
}
finally
{
Marshal.FinalReleaseComObject(presentation);
Marshal.FinalReleaseComObject(PowerPoint_App);
}
}
всякий раз, когда я бегу кода в первый раз, он отлично работает, но затем он создает процесс для PowerPoint (который можно увидеть в диспетчере задач). Я использовал PowerPoint_App.Quit();
для выхода из уже открытого процесса, но он не работает и бросает мне ошибку. Я перехожу к диспетчеру задач и заканчиваю процесс, а затем готов работать еще один раз.
Я делаю что-то неправильно, когда вы покидаете процесс из кода или есть ли другой способ сделать это?
ли в Powerpoint пользовательский интерфейс с сообщением об ошибке, в то же время? Сервер Powerpoint COM может сбой довольно легко, если он сильно нагружен (например, в петле). –
Я не открываю ppt ui.i использую изображения и текстовые объекты из слайдов ppt. Они также используются в редакторе. –