如何使用命令参数 运行 Interop.Excel.Application?
How to run Interop.Excel.Application with command arguments?
我需要将参数传递给 excel 的新实例,然后通过插件从新实例读取参数。
我想用这个结构打开新的excel应用程序:
new Microsoft.Office.Interop.Excel.Application()
有没有办法传递命令行参数,例如:
string argument = "TestArgument";
new Microsoft.Office.Interop.Excel.Application(argument);
谢谢!
如果你必须这样做(我建议尽可能快地从 Interop 运行)你
可以启动 Excel 应用程序,然后获取对它的引用。
// start Excel with your command line arguments
var pathToExcel = @"C:\Program Files\Microsoft Office\root\Office16\excel.exe";
var commandLineArguments = "/whatever";
System.Diagnostics.Process.Start(pathToExcel, commandLineArguments);
// get a reference to it
Microsoft.Office.Interop.Excel.Application app = (Microsoft.Office.Interop.Excel.Application)
System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
Interop 太邪恶了,我觉得回答这个问题几乎是不道德的。它为无尽的痛苦打开了大门。如果可能的话,我建议使用 EPPlus 之类的东西与 Excel 文件进行交互。
我需要将参数传递给 excel 的新实例,然后通过插件从新实例读取参数。
我想用这个结构打开新的excel应用程序:
new Microsoft.Office.Interop.Excel.Application()
有没有办法传递命令行参数,例如:
string argument = "TestArgument";
new Microsoft.Office.Interop.Excel.Application(argument);
谢谢!
如果你必须这样做(我建议尽可能快地从 Interop 运行)你 可以启动 Excel 应用程序,然后获取对它的引用。
// start Excel with your command line arguments
var pathToExcel = @"C:\Program Files\Microsoft Office\root\Office16\excel.exe";
var commandLineArguments = "/whatever";
System.Diagnostics.Process.Start(pathToExcel, commandLineArguments);
// get a reference to it
Microsoft.Office.Interop.Excel.Application app = (Microsoft.Office.Interop.Excel.Application)
System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
Interop 太邪恶了,我觉得回答这个问题几乎是不道德的。它为无尽的痛苦打开了大门。如果可能的话,我建议使用 EPPlus 之类的东西与 Excel 文件进行交互。