最近项目中要用ASP.NET操作服务器端的Word和Excel,
遇到的一些问题和解决的方法(以Word为例,Excel相似)
引入:Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB)(可以在项目的“引用”——“添加引用”——“COM”中找到“Microsoft word x.0 Object Library”添加引用)
using Word;
执行这段代码 Word.Application app = new Word.ApplicationClass();的时候抛出“UnauthorizedAccessException”的异常,拒绝访问。
1.运行Dcomcnfg.exe
2.组件服务――计算机――我的电脑――DCOM配置――找到microsoft word 文档
3.点击属性
4.选择“安全性”
5.选定“使用自定义访问权限”和“使用自定义启动权限”
6.分别编辑权限,添加Everyone。并赋予全部权限。
7.选择“身份标识”,在选定“交互式用户” 即可 。
调试通过。
很奇怪的是在有的机器上还是会出现“拒绝访问”的异常。
明明权限都设置好了啊,网上找资料发现还有一种解决方法,就是在web.config中的<system.web>节点中添加<identity impersonate="true" userName="***" password="***" />里面替换成自己机器的管理员的用户名和密码。使得web项目在管理员下运行。
类似:
…
<identity impersonate="true" userName="admin" password="123" />
</system.web>
现在应该可以了。