最近一直在处理一个项目,项目主要功能与Office-Word 有关,主要涉及到文本内容编辑与样式设置等相关内容。因项目依赖office 相关dll,需要兼容多种Office 版本(office 2007/2010/2016)(主要在Windows7/10下使用)。项目使用Winform,采用webBrowser嵌入weboffice 形式,调用服务进行功能实现。

在使用初期,发现服务无法正常使用,日志记录:word 对象无法打开文件,可能文件损坏,或权限不足。

查阅资料,定位为office的 Word  com组件权限不够,需要处理调用的组件权限。

先在安装office 32位的环境上测试:

1、打开 Win+R  ,输入 comexp.msc -32 ,然后 回车:

2、就可以看到 “组件服务” 窗口;依次选择打开 : 控制台根节点==》组件服务==》计算机==》我的电脑==》DCOM 配置==》找到Microsoft Office Word 97 - 2003 文档

3、==》选择 Microsoft Office Word 97 - 2003 文档  ,右击选择  属性。按下面操作步骤进行配置。

在安全选项卡中,依次编辑 启动和激活权限、访问权限、配置权限;==》选择自定义, 点击 编辑==.》组或用户名 ,添加 everone 权限((授予)勾选所有system 权限)==》确定。

4、==》选择 标识 ,更改 运行账户为 交互式用户==》 应用/确定 。配置完成。

附:

写到这里,Com 组件权限配置基本结束了。

这里有几个问题:

1、如果安装的是Office 64 位出现这种情况怎么办?

2、如果我不使用Windows 命令能否操作?

对于问题1,暂时没有很好的解决方案;目前是计划后期更改程序底层Com 组件的功能依赖,使程序在Windows 10下不依赖Office-Word  的Com组件;因为测试发现,在Windows10 下配置com 组件后,功能很不稳定。在安装office 32 位的Windows 10系统下,测试发现Com 组件的属性标识改为启动用户能够正常使用一段时间,过段时间,属性标识再改成 交互式用户就又正常了。(64位Office 下 命令打开Com  组件:  (Win+R )+Dcomcnfg==》 回车 查看方式与 32 位一致。)如果有遇到类似问题解决的,欢迎评论。

问题2: 打开Com  组件的方式很多: 可以直接在控制面板进行打开:控制面板==》管理工具==》组件服务==》组件服务列表中:选择组件服务==》计算机==》我的电脑==》DCOM配置。(以安装32 位Office  的环境为例,我通过这种控制面板方式打开的Word com组件中:

            Microsoft Word 97 - 2003 文档的属性中 常规:本地路径为空,身份验证级别 :无;

                          位置选项卡中 : 在此计算机上运行应用程序 置灰,无法勾选。

非管理员用户:administrator 用户下新建的其他用户,权限隶属于 administrator。

(Win+R )+Dcomcnfg==》 回车   --打开64位Office 的Com 组件。

(Win+R )+comexp.msc -32==》 回车   --打开32位Office 的Com 组件。

上面为处理过程,如有描述不合理之处,请大家多多指教。

如果您觉得本文对您有帮助,欢迎点击“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎转载,转载请注明出处。

调用office Word Com 组件,提示权限不足处理的更多相关文章

  1. Win2008服务启动不能调用Office Word的解决方法

    本文为大家分享一下如何解决Windows Server 2008 服务启动不能调用Office Word的问题,分享这个教程的原因是,今天在Windows server2008上部署一个应用时发现了一 ...

  2. SVG格式转Visio的vsd格式方法,附带C#动态调用Office的Com组件方法

    SVG格式可以直接显示在网页上面,用来实现诸如统计Chart图表.流程图.组织结构图的功能.为了使图像可以下载下来以便于修改,可以将SVG转为Visio的vsd格式.方法很简单,主要是使用Visio组 ...

  3. ASP.NET调用Office Com组件权限设置

    ASP.NET在调用Office Com组件时,经常会出现权限限制的问题,而出现如下错误: 现通过以下几步设置,可解决上述问题:(1)64位系统中,请在IIS应用程序池集成模式中应启用调用32位应用程 ...

  4. .NET通过调用Office组件导出Word文档

    .NET通过调用Office组件导出Word文档 最近做项目需要实现一个客户端下载word表格的功能,该功能是用户点击"下载表格",服务端将该用户的数据查询出来并生成数据到Word ...

  5. 快速解决PHP调用Word组件DCOM权限的问题

    1. 首先必须要在电脑上安装 Office 2. windows+r : 输入 dcomcnfg.exe 打开组件服务,然后双击 组件服务 ==> 双击 计算机 ==> 双击 我的电脑 = ...

  6. .Net调用Office Com组件的原理及问题检索com类工厂组件检索 COM 类工厂中 CLSID 为 {XXX} 的组件失败

    我是在本地32位操作系统+vs2010+office2007做创建并下载Excel,ppt文件的操作没有问题,发布到64位系统的服务器上报错,最开始报错:: 1:Retrieving the COM ...

  7. Office导入导出组件权限配置汇总

    NET导出Excel遇到的80070005错误的解决方法: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现 ...

  8. Asp.Net调用Office组件操作时的DCOM配置 (转)

    Asp.Net调用Office组件操作时的DCOM配置 http://blog.csdn.net/gz775/article/details/6447758 在项目中将数据导出为Excel格式时出现“ ...

  9. [转]Office导入导出组件权限配置汇总

    原文地址:Office导入导出组件权限配置汇总 具体配置方法如下:  1:在服务器上安装office的Excel软件.  2:在"开始"->"运行"中输入 ...

随机推荐

  1. iOS史上最简单修改导航栏分隔线颜色方法!!!

    override func viewDidLoad() { super.viewDidLoad() if let imageView = self.findNavLineView(view: navi ...

  2. [IISNode] 如何在IIS7/8下,配置一个可以通过IIS访问NodeJS的web项目

    参考了一下几篇很给力的文章,在每篇文章中,都学到了解决遇到的问题的答案: (1)用iisnode模块,让你的Node.js应用跑在Windows系统IIS中 (2)让IIS能够运行Nodejs (3) ...

  3. 安卓、IOS端AEC密钥加密 Java端密钥解密通用实现(16进制表现形式)

    由于业务需求,需要实现在客户端对重要信息进行加密,在服务端进行解密.客户端包括IOS和安卓的 服务端位Java. 注意密钥 需要保持一致,可以自己定义 . 安卓端加密代码: ============= ...

  4. graph处理工具

    仅作为记录笔记,完善中...................... 1       PyGSP https://pygsp.readthedocs.io/en/stable/index.html ht ...

  5. java设计思想-池化-手写数据库连接池

     https://blog.csdn.net/qq_16038125/article/details/80180941 池:同一类对象集合 连接池的作用 1. 资源重用 由于数据库连接得到重用,避免了 ...

  6. 了解HTML/CSS/JS/JQuery/ajax等前端知识

    什么是HTML 超文本标记语言 浏览器通过识别相应的标签来加载页面 通过HTTP协议传输,不是编程语言 HTML常用标签 title script style link meta link body ...

  7. 【论文排版工具】——LaTeX的安装及使用(MiKTeX+TexStudio+Windows)

    版权声明:本文为CSDN博主「豆豆花」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/weixin_405 ...

  8. SQL语句报错:You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near

    报错如图: 最开始其实我的列名tname和tsubject分别叫name和subject,后来看到网上有说这个报错可能是数据库建表的时候使用了mysql的关键词,我就只把name改了.后来还是这个问题 ...

  9. Spring Boot 注解大全,真是太全了!

    一.注解(annotations)列表  @SpringBootApplication:包含了@ComponentScan.@Configuration和@EnableAutoConfiguratio ...

  10. 【1】【leetcode-72 动态规划】 编辑距离

    (没思路,很典型,重要) 给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 . 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替 ...