最近,一个使用 .Net 1.1 的旧项目正在迁移到 .Net4.0。该项目使用以下方法打开 Excel 文件:
Process process = new Process();
try
{
process.StartInfo.FileName = marco_file;
process.Start();
}
catch(Exception)
{
}
finally
{
process.Close();
}
marco_file是带有宏的Excel文件的路径,例如"C:\project\test.xls"。当打开Excel文件时,其中的宏将立即运行。
在.Net1.1中,代码和宏都可以正常运行。在.Net4中,代码可以正常运行而没有异常。但宏无法工作。
为什么Excel文件中的宏没有运行?
我的环境是Win7 64位。Office 2010 64位。IIS 7.5
谢谢。
当我更改为以下代码并运行调试模式时
process.StartInfo.FileName = marco_file;
if (process.Start())
{
Debug.WriteLine("-->start ");
}
else
{
Debug.WriteLine("-->failed ");
}
结果是进入了 else 块,这意味着该进程启动失败。
有人知道为什么吗?