【问题标题】:error to create Excel object in VBA在 VBA 中创建 Excel 对象时出错
【发布时间】:2009-09-01 10:48:51
【问题描述】:

我正在使用以下代码使用 VBA 创建 Excel 对象。我使用的是 Office 2003。我在经典 ASP 中运行以下代码。

设置 myexcel = CreateObject("Excel.Application")

错误信息是,创建 Excel 对象需要任何权限吗?

计算机 - 默认权限设置不允许使用 CLSID 的地址 LocalHost(使用 LRPC) {00024500-0000-0000-C000-000000000046}

编辑1:

我有一个相关的问题,如果有人可以看看,不胜感激,

generating Excel file error

提前致谢, 乔治

【问题讨论】:

  • 您要在哪个应用程序中创建 Excel 对象?您是否在项目中设置了正确的引用?
  • 申请是什么意思?我很困惑。我只是执行 VBA。
  • 我在经典的 ASP 中运行它。这是您需要的信息吗?

标签: .net security excel vba permissions


【解决方案1】:

This article 可能很有趣,它说:

微软目前没有 推荐,不支持, 微软办公自动化 从任何无人看管的应用程序, 非交互式客户端应用程序或 组件(包括 ASP、ASP.NET、 DCOM 和 NT 服务),因为 Office 可能表现出不稳定的行为和/或 在此运行 Office 时出现死锁 环境。

你不妨看看mime typesHow to output an Excel *.xls file from classic ASP

非常非常粗略:

<%
Response.ContentType = "application/vnd.ms-excel"
%>
<TABLE>
<TR>
<TD>
<!-- Cell : A1 -->
2
</TD>
</TR>
<TR>
<TD>
<!-- Cell : A2 -->
3
</TD>
</TR>
<TR>
<TD>
<!-- Cell : A3 -->
=SUM(A1:A2)
</TD>
</TR>
</TABLE>

【讨论】:

  • 谢谢,但是我的问题的解决方案是什么?我必须在 ASP 中使用 Excep。
  • 我真的需要访问 Excel 对象来生成 Excel 文件以供下载,有什么想法吗?
  • 我添加了一些注释。您可以在 StackOverflow 和其他地方找到有关此主题的更多信息。
  • 感谢 Remou,我已经查看了您推荐的文档,它们真的很棒。由于我正在维护旧应用程序并将其安装在新计算机上。我认为您的解决方案是最佳的,但是由于时间和资源有限,我想解决的是为什么会有这样的错误信息,以及如何正确更改安全设置以使其工作。有什么想法为什么会出现这样的安全错误消息?
  • 这是一个相关的问题,如果你能看一下,不胜感激。 :-)
【解决方案2】:

如果您想让它工作,而不是实施更优雅的解决方案。

===================== 解决方法:

这是一个安全漏洞(但你说你必须让它工作)...... 然而, 您是否尝试将 IUSR 和 IWAM 帐户添加到相关 COM+ 应用程序的本地激活和启动权限?

步骤:

  1. 打开 Dcomcnfg.exe

  2. 打开组件服务>我的电脑>DCOM配置

  3. 搜索 {00024500-0000-0000-C000-000000000046}

  4. 右键单击属性 > 转到“安全”选项卡

  5. 在启动/激活权限下,点击自定义和编辑

  6. 确保已添加管理员、交互、服务和系统(仅限本地启动/执行)

  7. 它的经典 ASP(我假设在 IIS 5 或 6 上)所以首先尝试机器 IUSR 和 IWAM 帐户。

  8. 如果添加这些不起作用(本地操作和启动),如果您有应用程序池,请尝试添加用于应用程序池的帐户(查找应用程序池的身份选项卡)。

  9. 点击确定/确定/确定。

  10. 重启 IIS/应用程序池。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 2020-12-24
    • 1970-01-01
    相关资源
    最近更新 更多