#c# #excel #visual-studio #service #visual-studio-2015
#c# #excel #visual-studio #Обслуживание #visual-studio-2015
Вопрос:
У меня есть программа Excel, которая запускается сразу после открытия файла Excel. Это огромная программа, поэтому я не могу просто переписать ее на C #. Программа использует сетевые пути, на которые у моего пользователя есть разрешения.
В ProjectInstaller в моей службе я установил учетную запись как пользователь, поэтому мне приходится вводить свои учетные данные пользователя каждый раз, когда я устанавливаю службу. Служба нормально работает от имени моего пользователя.
Проблема, однако, в том, что когда служба открывает эту программу Excel, она запускает ее не как мой пользователь, а как мой локальный компьютер, поэтому у нее нет доступа к сетевым путям, которые ей нужны.
Я запускаю его следующим образом:
var excelApp = new Excel.Application();
excelApp.Visible = true;
WB1 = excelApp.Workbooks.Open(@"\Pathtofile");
//The excel file now executes a lot of code.
excelApp.Quit();
Приложение Excel завершает работу с ошибкой, когда ему приходится использовать пути, на которые у моего пользователя есть разрешения, а на моем локальном компьютере — нет. Мне нужно запустить приложение Excel от имени моего пользователя, а не от имени локального компьютера. Как мне это сделать?
Спасибо
Комментарии:
1. Несмотря на то, что я установил для visibile значение true, оно не отображается. Для него установлено значение true, потому что, если я установлю для него значение false, он не запустит никакого кода в приложении.
2. 1. Службы не имеют доступа к консоли: пользовательский интерфейс никогда не будет показан. 2. Использование любых приложений Office в неинтерактивной среде (например, из службы) не поддерживается (могут произойти странные вещи: вы предоставлены сами себе).