0

我对 VBA 很陌生,对不起,如果这是一个简单的问题或已经回答...我尝试通过在 MSDN 上搜索但没有得到任何东西来实现这一点。

在将 Excel 下载到用户之前,我需要向 VBA 代码发送一个字符串(URL 中的主机名,例如 xyzserver:4500/Home/GetExcelData)。

我正在从 Excel VBA 代码中调用 MVC 操作方法,获取一些数据并在 Excel 中显示。

我的问题是主机名(xyzserver:4500)在不同的服务器中不同,我需要根据用户访问的服务器 URL 动态更新 URL。

基本上我需要将服务器名称发送到 VBA 代码以更新模块中的 URL。有没有办法将值从 C#(MVC 操作)发送和维护到 VBA?

会话/应用程序缓存之类的东西在 VBA 中可用吗?

提前致谢

4

1 回答 1

1

您可以通过以下方式将参数从 c# 传递到 VBA:

Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
Excel.Workbook wb = app.Workbooks.Open("your file here which contains the macro"); 
string url = "blah blah";
app.Run("name of macro here", url);

如果要以编程方式编辑vba 代码,则需要参考 VBIDE。看看 Chip Pearson 的优秀网站:http ://www.cpearson.com/Excel/vbe.aspx

于 2013-05-09T20:13:33.573 回答