gpt4 book ai didi

vb.net - 如何从 .Net Web 系统运行 Excel 宏?

转载 作者:行者123 更新时间:2023-12-04 22:04:19 26 4
gpt4 key购买 nike

我正在尝试运行一个名为 Sheet1.Workbook_Open 的 Excel 宏来自 .NET Web 系统。

以下是我当前的代码。

xlApp = New Excel.Application
xlWorkBook = xlApp.Workbooks.Open("C:\Testing\TempFile.xlsm")
xlWorkSheet = xlWorkBook.Worksheets("TestSpreadsheet")

Dim MacroName As String = "Sheet1.Workbook_Open"

xlApp.Run(MacroName)

Dim FileDate As String = SysdateTextBox.Text
FileDate = FileDate.Replace(" ", "")
FileDate = FileDate.Replace("/", "")
FileDate = FileDate.Replace(":", "")

FileName = "C:\Testing\File" & FileDate & ".xlsm"

xlWorkBook.SaveAs(FileName)
xlWorkBook.Close(True)
xlApp.Quit()

但是,它在 xlApp.Run(MacroName) 行上失败了。有错误;
Exception from HRESULT: 0x800A01A8 

System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x800A01A8

为什么会发生这种情况,我该如何解决?当项目托管在我的本地计算机上时,不会发生此错误 - 仅当它位于服务器上时。

最佳答案

恐怕这不是你想听到的答案,但正确的答案是……你没有 .

Microsoft explicitly states无人值守代码不支持办公自动化 ,其中包括 Web 应用程序:

Microsoft does not currently recommend, and does not support, Automation of Microsoft Office applications from any unattended, non-interactive client application or component (including ASP, ASP.NET, DCOM, and NT Services), because Office may exhibit unstable behavior and/or deadlock when Office is run in this environment.



如果需要与 Excel 文件交互,正确的解决方案是 use a .NET library that supports the Excel file format .不幸的是,这意味着您将无法使用现有的旧版 Excel VBA 代码。

关于vb.net - 如何从 .Net Web 系统运行 Excel 宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27502176/

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