2009-09-01 175 views
0

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

集myexcel =的CreateObject( “Excel.Application”)

错误消息是,创建Excel对象所需的任何许可?

计算机 - 默认权限设置不允许使用CLSID {00024500-0000-0000-C000-000000000046}

EDIT1(使用LRPC)地址本地主机:

我有一个相关的问题在这里,不胜感激,如果任何人都可以看看,

generating Excel file error

由于事先 乔治

+1

你想在哪个应用程序中创建Excel对象? 你在你的项目中设置了正确的参考吗? – 2009-09-01 11:03:40

+0

你是什么意思应用程序?我很困惑。我只是执行VBA。 – George2 2009-09-01 11:15:41

+0

我在传统的ASP中运行它。那是你需要什么信息? – George2 2009-09-01 11:31:28

回答

2

This article可能会感兴趣的,它说:

微软目前并不 建议,并且不支持, 自动化的Microsoft Office从任何无人值守, 非交互式客户端应用程序或 组件 应用(包括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> 
+0

谢谢,但是我的问题的解决方案是什么?我必须在ASP中使用Excep。 – George2 2009-09-01 12:55:09

+0

我真的需要访问Excel对象才能生成Excel文件供下载,有什么想法? – George2 2009-09-01 13:10:32

+1

我已经添加了一些注释。您将在StackOverflow和其他地方找到关于此主题的更多信息。 – Fionnuala 2009-09-01 13:30:07

0

如果你想获得它的工作,而不是实现一个更好的解决方案。

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

它是一种安全vunerability(但你说你必须只得到它的工作)... 但是, 您是否尝试将IUSR和IWAM帐户添加到有问题的COM +应用程序的本地激活和启动权限中?

步骤:

  1. 开放Dcomcnfg中。EXE

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

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

  4. 点击右键属性>转到安全选项卡

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

  6. 确保管理员,交互式,服务和系统已添加(本地推出/仅行动)

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

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

  9. 点击ok/ok/ok。

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