在 Net.Framework 中,我可以使用下一个函数来操作 Excel 应用程序的打开实例:
using Excel = Microsoft.Office.Interop.Excel;
public static Excel.Workbook GetOpenedExcelWorkbook(string workBookName)
{
Excel.Application xlsApp = null;
try { xlsApp = (Excel.Application)Marshal.GetActiveObject("Excel.Application"); }
catch { return null; }
foreach (Excel.Workbook wb in xlsApp.Workbooks)
{
if (wb.Name == workBookName)
return wb;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
它很方便,因为用户只需单击 Excel 工作表中的按钮即可调用所有必要的程序。而且我可以用C#编写操作excel的代码,这比VBA更有用、更强大。VBA 中的下一个代码用于通过单击 excel 中的按钮来调用 C# 控制台应用程序。它在活动 Excel 文件附近找到适当的 exe 文件,并通过 VBA 中的 Shell 命令和必要的参数调用它。
Sub Button1_Click()
Call ExeCaller("ConsoleApp.exe", "Button1_action_arg")
End Sub
Sub ExeCaller(ExeName As String, Optional cmd As String = "")
Dim …
Run Code Online (Sandbox Code Playgroud)