gpt4 book ai didi

c# - 通过 C# 在 Excel 中运行 vba 脚本

转载 作者:行者123 更新时间:2023-11-30 18:31:09 26 4
gpt4 key购买 nike

当我尝试从 C# 应用程序运行 excel 文件中的 vba 脚本时遇到问题。我的代码是:

public void RunMacro(string path, string macro)
{
Excel.Application app = null;
Excel.Workbooks workbooks = null;
Excel.Workbook workbook = null;

app = new Excel.Application();
if (app == null)
return;
app.Visible = false;
ChangeCulture();
workbooks = app.Workbooks;
workbook = workbooks.Open(path, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);

LogWrapper.Debug("Run Macro start");

app.Run(macro, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing
, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing
, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing
, Type.Missing, Type.Missing, Type.Missing);
LogWrapper.Debug("Run macro finish");

workbook.Close(false, Type.Missing, Type.Missing);
app.Quit();
ReleaseObject(app);
ReleaseObject(workbook);
}

我在我的 Web 浏览器中单击按钮后运行此方法,并且浏览器一直工作(“等待本地主机...”)。我在 Firebug 中看不到任何请求。我的 LogWrapper 只记录第一条信息(“运行宏开始”)。在事件查看器中没有关于此执行的任何信息。在任务管理器进程中,EXCEL.EXE 使用 100% 的处理器。我等了半个小时的结果,仍然没有结果。

当我将 vba 脚本名称更改为 running 时,出现错误,指出在 excel 文件中找不到 vba 脚本。我的 vba 脚本非常简单:

Sub start()
Range("A3").Select
ActiveCell.Value = "def"
Range("A4").Select
End Sub

有人知道我应该在哪里搜索有关此问题的信息吗?

最佳答案

这是 IIS 用户权限的问题。当我更改权限或打开 Windows 身份验证时,一切正常。

关于c# - 通过 C# 在 Excel 中运行 vba 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20630938/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com