请求Excel执行C#代码

是否有可能要求Excel启动一个C#方法?
你将如何在Excel中实现这样的呼叫?

(即,而不是在VB编程,我想用C#编程)

我可以想象使用VB-macros在后台启动一个C#应用程序,但也许你知道一个更好的方法?

例如,C#代码将在特定的Excel单元格中单击时执行。

那么你可以通过VBA打开一个程序。 这个VBA脚本通过单击Excel-Cell被调用:

var Path = "MYPROGRAMPATH" var Argument = "MYARGUMENT" x = Shell("""" & Path & """ """ & Argument & """", vbNormalFocus) 

要对单元格更改作出反应,请使用以下事件:

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'YOUR CODE End Sub 

然后编程你的C#应用​​程序,并让它确定参数。
你的程序应该根据过滤的参数作出反应。

这可以通过Environment.GetCommandLineArgs -Method完成。

 public static void Main() { Console.WriteLine(); // Invoke this sample with an arbitrary set of command line arguments. String[] arguments = Environment.GetCommandLineArgs(); Console.WriteLine("GetCommandLineArgs: {0}", String.Join(", ", arguments)); //Handling of arguments here, switch-case, if-else, ... } 

我find了VBAmacros的解决scheme:

 Sub Button1_Click() Dim pathStr As String Dim argumentStr As String pathStr = "C:/Users/.../Desktop/temp/Trial02.exe" argumentStr = "Any argument string" Call Shell("""" & pathStr & """ """ & argumentStr & """", vbNormalFocus) End Sub