coy 的程序人生

有鸟止南方之阜,三年不翅,不飞不鸣
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Excel 错误: Cannot use object linking and embedding

Posted on 2008-06-26 12:47  coy  阅读(5940)  评论(5编辑  收藏  举报

这段时间突然打开EXCEL的时候出现问题,弹出对话框说“Cannot use object linking and embedding”,如果继续使用的话,EXCEL会出现很多不正常的现象,如不能拷贝单元格等。

原因:
点击OK,EXCEL继续提示是关于VBA的一个错误。在网上找了很久没有找到答案,但注意到了有人说是DCOM设置的问题,具体是什么问题没说清楚。
我突然想起来前一阵做C#程序操作EXCEL的时候确实在DCOM里面做过设置,是不是那里出了问题。但我并不抱太多希望,因为改DCOM设置那是很久以前的事情了,至少有好几个月。而这个错误却是昨天才出现的。带着怀疑的态度去DCOM里看了一下,结果真的发现了问题!
打开命令行,运行dcomcnfg,找到Component Services->Computers->My Computer->DCOM Config->Microsoft Excel Application 右键看属性,在Identity页里是指定运行EXCEL的用户。一般来说都是选的第二项The Launching User,而我这里选的是第三项,This user,然后指定了我自己的域帐号和密码。我把这个设置改回默认设置,即第二项The Launching User,退出设置,打开EXCEL文件,一切问题都解决了!!!

为什么我以前要那样设置?这是因为那次在做程序操作EXCEL的时候为修改EXCEL访问权限问题而把它改成了指定用户。
为什么以前是好的而现在出错?因为我正好是昨天修改了域登录密码,结果以前在那里指定的用户名密码就不对了,所以打开EXCEL时出错。