请求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