在ASP.NET中使用COM组件创建编辑Microsoft Word(2003)[配置篇]

原创 2004年09月19日 13:38:00

ASP.NET中使用COM组件创建编辑Microsoft Word(2003)[配置篇]<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

       这两天接到一个任务,其中有一部分功能就是能够利用表单生成一个统一格式的Word文档,并将其保存在服务器的固定目录中。

       为了实现这个功能我在Code Project中看到了一篇相关的文章:

       Microsoft Word Documents from ASP.NET

       在这篇文章中作者详细介绍如何用ASP.NETVS2003环境中引用Word组件,并构造了一个CCWordApp的类来对Word进行操作,其中涵盖了很多基本的操作。对于在今天这个基于够构建开发的我们这些懒人是很好的一个开始。

       于是我就毫不犹豫地使用了这个类,应用到了我的程序中。

       由于我是第一次使用Word Com组件,在使用中出现了很多配置上的问题。还有些代码上的迁移性的问题在ASP.NET中使用COM组件创建编辑Microsoft Word(2003)[原理篇]中阐述。

问题一:

       当我运行时出现如下错误:

拒绝访问。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

 

异常详细信息: System.UnauthorizedAccessException: 拒绝访问。

 

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}/ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。

 

若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。

       解决方法:

              web.config 中的<system.web>节点中添加<identity impersonate="true"/>

              解释详见

ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpgenref/html/gngrfIdentitySection.htm

 

问题二:

       当创建一个新的文档或者保存一个修改过的文档时:

       代码是:test.SaveAs (ConfigurationSettings.AppSettings["WordDoc"] + DocName.Text + ".doc");

       出现如下错误:

无法打开宏储存。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

 

异常详细信息: System.Runtime.InteropServices.COMException: 无法打开宏储存。

       解决方法:

              在运行中输入dcomcnfg

 

       组件服务à计算机à我的电脑àDCOM找到:

 

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

 

设置启动和激活权限访问权限自定义

 

 

在两项中都要添加MACHINENAME/ASPNET用户

 

 

标识修改为交互式用户

 

 

现在你就可以正常的用ASP.NET创建DOC文档了。

Asp.net 使用weboffice实现Word在线编辑

项目中客户需要在页面中实现Word的在线编辑,Word写保护等功能。之前写了篇文章,用的是dsoframer.ocx,参考的都是网络上的资源。用的时候页面卡, 而且word2003和word20...
  • shan1774965666
  • shan1774965666
  • 2014年09月30日 11:11
  • 2942

[ASP.NET] Word增删改查操作

word文档对象的结构图 关于对象的详细使用,可以参考msdn api 实例使用   创建Word 文档所使用的主要方法是通过微软公司提供的Microsoft Word X ...
  • WULIXING
  • WULIXING
  • 2017年03月21日 10:03
  • 286

在ASP.NET中使用COM组件创建编辑Microsoft Word(2003)[配置篇]

在ASP.NET中使用COM组件创建编辑Microsoft Word(2003)[配置篇]        这两天接到一个任务,其中有一部分功能就是能够利用表单生成一个统一格式的Word文档,并将其保存...
  • rbmnet
  • rbmnet
  • 2004年09月19日 13:38
  • 6935

用Com组件 操作word

  • 2014年02月18日 17:41
  • 2KB
  • 下载

Windows Server® 2008 Enterprise 组件服务 找不到 ”Microsoft Word 97 - 2003 文档“组件

Windows Server® 2008 Enterprise 组件服务 找不到 ”Microsoft Word 97 - 2003 文档“
  • chang_chao_123
  • chang_chao_123
  • 2016年05月04日 10:43
  • 2535

在"DCOM配置"中找到"Microsoft Office Word 97 - 2003 文档"

如果环境是 Windows 2008 R2可能找不到"Microsoft Office Word 97 - 2003 文档"。你可以 运行mmc -32 ,然后会弹出一个程序,在菜单中选择 添加/删除...
  • YangangwuWuyangang
  • YangangwuWuyangang
  • 2014年06月20日 14:57
  • 2070

C# 互操 调用COM组件

本专题概要: 引言如何在C#中调用COM组件——访问Office 互操作对象在C# 中调用COM组件的实现原理剖析错误处理小结   一、引言   COM(Component Object ...
  • leilonghao
  • leilonghao
  • 2016年09月30日 09:21
  • 776

ASP.NET操作Word文档

操作WORD配置说明引入:Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB)(这是针对老版本的情况,在用vs.net2005的时候,直接在引用对话框中,在com...
  • kaigood
  • kaigood
  • 2007年01月18日 13:22
  • 3170

Outlook2003无法启动Word2003编辑

Outlook2003无法启动Word2003编辑在“选项”——“邮件格式”里勾选了“使用Word2003来编辑电子邮件”。不知道是不是设计的信纸或签名有问题,还是其他原因。最近只要编辑邮件,就会弹出...
  • shaobingj126
  • shaobingj126
  • 2011年07月12日 09:59
  • 4024

安装完office2010 后 在组件服务里DCOM配置中找不到的解决方案

这个主要是64位系统的问题,excel是32位的组件,所以在正常的系统组件服务里是看不到的 可以通过在运行里面输入 comexp.msc -32 来打开32位的组件服务,在里就能看到excel组件了...
  • jixiaomeng821
  • jixiaomeng821
  • 2014年07月21日 13:09
  • 5786
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在ASP.NET中使用COM组件创建编辑Microsoft Word(2003)[配置篇]
举报原因:
原因补充:

(最多只允许输入30个字)