Я работаю над hpc и I 'в Windows я пытаюсь создать небольшую программу, которая запускает excel ' s макрос в сетке. Я использую Com Interop API
Он отлично работает на моем компьютере, запускает различные макросы VBA, но когда я использую его в сетке, он больше не работает. Метод Open не работает должным образом.
workBook = excelApp.Workbooks.Open(path, Type.Missing,false, Type.Missing, Type.Missing, Type.Missing, true, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
Вот исключение, переведенное с французского:
Обнаружено исключение: Тип: System.Runtime.InteropServices.COMException Сообщение: Microsoft Office Excel не может получить доступ к файлу
\ сервер \ путь \ test.xls. Есть несколько возможностей:
- Имя файла или путь не существует
- Файл в настоящее время используется другой программой.
- Книга, которую вы пытаетесь использовать, имеет то же имя, что и другая уже открытая книга
Источник: Microsoft Office Excel
Stacktrace: в Microsoft.Office.Interop.Excel.Workbooks.Open (String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter , Object AddToMru, Object Local, Object CorruptLoad) в пространстве имен .ExcelFile.readExcel (приложение excelApp) в E: \ path \ ExcelFile.cs: строка 37
Я попытался получить доступ к файлу с вычислительного узла с той же учетной записью, что и в приложении, и он отлично работает. Я могу получить к нему доступ, похоже, что нет другой программы, использующей его, а Excel не открыт.
Изменить: я также могу запустить свое небольшое приложение на вычислительном узле без использования Microsoft API (головной узел)
Что мне не хватает?