Недавно старый проект .Net 1.1 переносится на .Net4.0. В проекте используется следующий метод, чтобы открыть файл первенствовать:Не удалось открыть файл excel с помощью Process.Start() в .Net4.0
Process process = new Process();
try
{
process.StartInfo.FileName = marco_file;
process.Start();
}
catch(Exception)
{
}
finally
{
process.Close();
}
И marco_file это путь файла Excel с помощью макросов, как «C: \ Проект \ test.xls» макрос в нем будет работать сразу когда файл excel открывается.
В .Net1.1 оба кода и макрос работают хорошо. В .Net4 коды выполняются без исключений. Но макрос не работал.
Почему макрос в файле excel не запускался?
Мое окружение - Win7 64bit. Office 2010 64bit. IIS 7.5
Благодаря
При изменении следующих кодов и запустить режим отладки
process.StartInfo.FileName = marco_file;
if (process.Start())
{
Debug.WriteLine("-->start ");
}
else
{
Debug.WriteLine("-->failed ");
}
Результатом является то, что он переходит в другое блок, что означает, что процесс не запускается.
Любой знает почему?
Вы уверены, что код работает без каких-либо исключений? Кажется, вы едите их. –
Удалите catch {} и повторите попытку, чтобы вы могли увидеть, выбрано ли исключение и что это такое. – Mathieu
попробуйте записать его как catch (Exception ex) {// распечатать исключение} вместо просто catch (исключение) – Bahamut