我正在使用一个执行一些Excel自动化的Web应用程序(我知道-不是首选解决方案)。
我使用Excel 2007作为开发平台,但目标服务器使用Excel 2003。在开发过程中,尽管我明确选择了Excel 11,但在尝试将Excel 12互操作加载到目标服务器上时遇到了很多麻烦,因此我采用了后期绑定而不是早期绑定。
这使我能够示例化Excel(并且我可以看到Excel进程在目标服务器的任务管理器中启动)。
但是,我无法调用后期绑定的Workbooks对象的Open方法。它向我抛出了这个错误:
"Unable to get the Open property of the Workbooks class"
字符串
我一直在尝试一些不同的东西,并尝试了以下几点:
1.尝试相同的工作簿。使用后期绑定的VBScript打开调用(例如vbs文件)。
1.使用后期绑定的VBA代码打开调用(例如:在Excel中)。
1.尝试在Windows窗体应用程序中使用后期绑定的.NET代码执行相同的Workbooks.Open调用。
在所有三种情况下,Excel自动化成功。只有当我部署ASP.NET应用程序时,才会突然出现这个错误。在一个非常简单的形式中,代码类似于:
Dim xlApp As Object 'Excel.Application
Dim xlBook As Object ' Excel.Workbook
xlApp = CreateObject("Excel.Application") 'New Excel.Application
xlBook = xlApp.Workbooks.Open("somefile.xls", , True, , , , , , , , , , , , False)
型
有人知道可能会发生什么吗?我检查了Excel进程启动时的用户,它是我成功运行Windows Forms .NET应用程序的同一个用户。我已经以这个用户的身份打开了Excel,以清除所有初始设置的东西。
4条答案
按热度按时间oipij1gg1#
我也遇到了同样的问题,我发现一些网站说:尝试去文件-选项-加载项-在管理下拉列表中选择dailed加载项-单击执行-并启用其中的任何内容。
对我没用但对你可能有用。
dtcbnfnu2#
迟回答总比不回答好。。
在开发VBscript时,请确保您处理了阻止正确关闭Excel Book的错误。
我得到了和你一样的错误,但我发现,当我的逻辑中发生错误时,解释器不会关闭Excel Book,使其无法进一步处理。
字符串
请确保使用对文件进行操作的所有函数(SaveAs、Close等)处理错误。
2w3kk1z53#
省略最后一个论点为我解决了这个问题。
字符串
s5a0g9ez4#
在我的情况下,工作簿没有得到正确保存和宏被禁用。确保在运行VBA脚本之前打开工作簿并“启用宏”。