8000401a错误解决方式(Excel)

摘要:
不久前,开发需要Excel和Word编程。我使用Vista系统、VS2005和Office2007开发环境。测试中没有问题,但在部署过程中出现了一些非常麻烦的问题。例如,在COM类工厂中检索CLSID为{000209FF-0000-0000-C000000000046}的组件时,由于以下错误而发生故障:80000401a。

前一阵子做开发须要用到Excel和Word编程,本人用的是Vista系统,开发环境是VS2005和Office2007,測试无不论什么问题,但是到部署的时候出现了一些令人非常头痛的问题,老是会出现比如:

检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现下面错误: 8000401a。
的错误,在网上查询了很多资料,大多是二种解决方式:

1,添加�虚拟权限:

在web.config里面添加�

<identity impersonate="true" userName="windowsloginid" password="password"/>的键值;要求windowsloginid具有管理员权限,这样的方案使用后确实可行,但是不利于部署,由于有经验的人都知道把一个最高权限的server帐号密码公开显示在配置文件上有什么后果。所以这样的方案不可行。那么就牵涉到另外一种方案。

2,添加�Com组件的交互式訪问权限:

这也是网上搜索率最高的一种方式,执行“DCOMCNFG”,找到

Microsoft Excel 97/2000/2002 - Microsoft Excel 应用程序
Microsoft Word 2000/2002 - Microsoft Word 文档  这些组件的交互式訪问权限,详情能够參见:

http://support.microsoft.com/kb/288366

这样的方案应该是可行的,但是我在我自己的机器上一级server上试验过非常多遍都不行,最后我试着用特定的用户来訪问,假设细分的话,这里能够算为第三种解决方式了^_^

3,添加�Com组件特定用户的訪问权限。

这才是我今天说的重点,也是帮我攻克了实际难题的一重解决方式,简略的说能够这么做:

建立一个所需的帐号(比如test),权限为Power User或者User;

用此帐号执行一次word或者excel(确保有訪问权限);

执行DCOMCNFG,在Dcom组件里面找到Microsoft Excel 应用程序或者Microsoft Word 文档(和前面一样)-属性-标识里面选择“特定用户”,然后输入前面建立的帐号和password就能够了

 添加�组件訪问权限

在有的机器上測试还须要在前面的安全标签里面加入�这个账号的启用和訪问权限.当然直接用自己登陆的帐好也是可行的



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1756670

 

免责声明:文章转载自《8000401a错误解决方式(Excel)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android中的“再按一次返回键退出程序”实现PHP中define和defined的区别下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

.net iis excel导出问题

碰到几个问题的解决方法 1、当我远程服务器时才可以导出excel!!关闭了远程就不行。。。 解决:运行mmc -32组件服务 ->DCOM Config->Microsoft Excel Application->右键 属性Properties  ->标识Identity->下列用户This user->选择一个有权限的...

NPOI操作EXCEL----------NPOI基础01

来源地址:http://www.cnblogs.com/csqb-511612371/p/4878059.html 先来介绍一下NPOI基本的东西: 1.下载地址:http://npoi.codeplex.com    (最新版已经2.2.0.0了) 2.包里面的DLL文件: NPOI.dll OOXML.dll OpenXml4Net.dll OpenX...

C#操作Excel时,Excel常用的方法和属性zz

生成excel的时候有时候需要设置单元格的一些属性,可以参考一下:range.NumberFormatLocal="@";//设置单元格格式为文本 range=(Range)worksheet.get_Range("A1","E1");//获取Excel多个单元格区域:本例做为Excel表头 range.Merge(0);//单元格合并动作 works...

C# 将内存中的datatable数据导出为Excel(方法二,创建Excel对象导出)【转载】

上次写了一个用文件流方式将Datatable导出Excel的方法,这个方法有局限性,比如没法对Excel进行一些增加列颜色等简单的操作,现在,给大家介绍另外一种方法,用微软的Excel类。既然要用到类,那必须是你的机子要装上Excel才行呢。 public void DataTabletoExcel(System.Data.DataTable[] tmp...

SQLServer导入Excel,复杂操作

导入Excel 先导入的时候报错了, 提示未在本地计算机上注册“Microsoft.ACE.Oledb.12.0”提供程序。(System.Data),去网址下个软件安装就搞定了,有64位和32位的 在数据库点击右键->任务->导入数据 于是出来了导入和导出向导,首先选择数据源,我选的是Microsoft Excel,然后导入Excel文件,点...

vb6如何将MSHFlexGrid控件中的内容导出为Excel

首先的是是准备工作 需要引用 Microsoft Excel 11.0 Object Library 需要添加控件Mircrosoft Hierarchical FlexGrid Control 6.0(SP4) (OLEDB) 我们来看一下代码 Private Sub cmdOut_Click() Dim xlApp As Object Dim...