.Net 1.1의 이전 프로젝트가 .Net4.0으로 마이그레이션되고 있습니다. 이 프로젝트 열려면 다음과 같은 방법을 사용하는 파일 엑셀 :.Net4.0의 Process.Start()를 사용하여 Excel 파일을 열지 못함
Process process = new Process();
try
{
process.StartInfo.FileName = marco_file;
process.Start();
}
catch(Exception)
{
}
finally
{
process.Close();
}
을 그리고 marco_file는 엑셀의 경로처럼, 매크로 파일입니다 거기에 매크로를 즉시 실행 "C \ 프로젝트 \ Test.xls를" 을 엑셀 파일이 열릴 때.
.Net1.1에서 모두 코드와 매크로가 잘 실행됩니다. .Net4에서는 코드가 예외없이 실행됩니다. 그러나 매크로는 작동하지 않았습니다.
왜 Excel 파일의 매크로가 실행되지 않았습니까?
내 환경은 Win7 64 비트입니다. Office 2010 64 비트. 나는 다음과 같은 코드로 변경하고 그 결과는 프로세스가 시작되지 의미 다른 블록에 들어가는 것입니다 디버그 모드
process.StartInfo.FileName = marco_file;
if (process.Start())
{
Debug.WriteLine("-->start ");
}
else
{
Debug.WriteLine("-->failed ");
}
을 실행하면 7.5
감사
을 IIS.
아무도 그 이유를 알고 있습니까?
코드가 예외없이 실행되고 있습니까? 너는 그들을 먹는 것 같다. –
catch {}를 제거하고 다시 시도하여 예외가 던져 졌는지 그리고 무엇인지 알아볼 수 있습니다. – Mathieu
그냥 잡기 (예외) – Bahamut