Открытие файла PowerPoint с помощью Interop зависает на одном компьютере пользователя

Я немного растерялся по этому поводу.

У меня есть приложение C#, которое создает презентации PowerPoint из файла шаблона. Это приложение работает для всех, кроме одного пользователя.

На этом пользовательском компьютере приложение раньше работало нормально, но теперь зависает при попытке открыть файл PowerPoint. На индикаторе выполнения отображается "Импорт шаблона", поэтому я знаю, что он находится междуReportProgress("Importing Template"); а также ReportProgress("Expanding Template");

используя ppt = Microsoft.Office.Interop.PowerPoint;

private bool ExpandTemplateAndSave(строка FileName)
{
   bool status = true;

   строка path = Directory.GetCurrentDirectory () + "\\ Resources \\ pptTemplate.pptx";


   // Файл резервной копии жестко запрограммирован на сервере
   если (!File.Exists(путь))
   {
      path = @ "[Действительный путь к серверу] \ Test Build \ pptTemplate.pptx";
   }

   ReportProgress("Шаблон импорта");

   ppt.Application app = новый ppt.Application();

   ppt.Presentation pres = app.Presentations.Open(путь, MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse);

   ReportProgress("Расширяющийся шаблон");
}

Что могло вызвать зависание?

1 ответ

Вам необходимо передать локальный путь к файлу методу Presentations.Open, который открывает указанную презентацию. Большинство приложений Office могут работать только с локальным путем к файлу, поэтому кажется, что PowerPoint может иметь такое же ограничение.

Еще одна возможная ошибка - доступ к сети. Брандмауэры и антивирусное программное обеспечение могут блокировать доступ приложений к удаленным конечным точкам.

Другие вопросы по тегам