由于ASP功能的限制,在使用的时候,常常要用到让ASP去调用一些其它组件,但是往往会发生一些权限问题,如下面所示的是:在用ASP创建Excel.Application实例时,提示的错误.(创建代码:set objExcel=CreateObject("Excel.Application")) 注:由于把ASP站点放在NTFS文件系统格式下而产生的权限问题请参照 HTTP错误401.1-未授权:登录失败,NTFS下WEB目录权限问题
错误类型: Microsoft VBScript 运行时错误 (0x800A0046) 没有权限: 'CreateObject' /class.asp, 第 86 行
其中,86行就为 set objExcel=CreateObject("Excel.Application") 错误提示说得很明显是权限问题,可是该在哪里加权限呢?
方法: 1.开始->运行->dcomcnfg ,打开组件服务 2.依次打开 组件服务->计算机->我的电脑->DCOM配置,在右边框加会显示很多组件,如图:
 3.找到 Microsoft Excel 应用程序,点右键属性,如图:
 4.打开属性窗口后, A.选择 常规,在 身份验证级别 中选择:调用,如图:  B.再选择 安全,把 启动和激活权限,访问权限,配置权限 都使用自定义,然后再逐个编辑权限. C.点击 启动和激活权限 后面的编辑,如果在 组或用户名称 中没有Everyone这个用户的,请点添加,然后在 输入对象名称来选择 下面的框中加入Everyone,然后点确定.然后给Everyone这个用户赋权限,如图:  其它几个类似,访问权限 如图:  配置权限 如图:  当然,配置权限是非必须的,可以不设置.
这样就可以使用ASP调用Excel.Application了.
如果在调用其它组件时也出现 没有权限: 'CreateObject' 这样的错误,可以使用相同的方法对相应的组件进行赋权了.
|