VB6编的发送邮件 运行时错误'429' ActiveX部件不能创建对象 (win7+office2010)
我的编程环境: WIN XP + OFFICE2003 VB6.0使用环境: WIN XP + OFFICE 2003;WIN XP + OFFICE 2007;WIN7 + OFFICE 2007;WIN7 + OFFICE 2010
我的程序如下:
Dim objOutlookApp As Object
Dim objMail As Object
Set objOutlookApp = CreateObject("Outlook.Application")
Set objMail = objOutlookApp.CreateItem(0)
With objMail
.Subject = "Hello!"
.To = txtSendto.text
.Body = "Hello! It's test."
.Send
End With
打包,安装,都没有问题。
目前的问题是,大部分使用环境都没有问题,运行正常,但是部分WIN7 + OFFICE 2010的环境下,会出现“运行时错误'429' ActiveX部件不能创建对象”的问题。有些WIN7 + OFFICE 2010的环境下是可以正常运行的。
请大家帮忙看看,谢谢!
应该是权限的问题
能说的清楚一点吗?什么权限?如何设置?谢谢! 问题应该出在:
Set objOutlookApp = CreateObject("Outlook.Application")
Set objMail = objOutlookApp.CreateItem(0)
这两句的其中一句上
把OFFICE2010换成和你编写代码环境下一样的OFFICE。我认为是引用版本的问题。
你的意思是把OFFICE2010卸了 重装2003吗?
但是部分Win7+OFFICE2010的环境下,程序没有问题. 那你注意过权限吗?
没有注意,请问如何注意?谢谢! 你的问题原因大概三种可能:
1.你引用了Office组件,由于版本不一致,所以无法创建对象;
2.访问一些COM组件需要管理员权限,用户不是管理员登录。
3.你也要确认一下Office安装的是否注册了运行时表(ROT),具体你可以参考以下链接看看,这个发生的可能性很小.
http://support.microsoft.com/search/default.aspx?query=rot&mode=r&catalog=LCID%3D2052 1.你引用了Office组件,由于版本不一致,所以无法创建对象;
如果版本不一致,那么为什么在有些使用环境WIN7 + OFFICE 2010下可以使用,而有些不行?
我的开发环境:WIN XP + OFFICE2003 VB6.0
如果因为版本的原因,我个人觉得不太可能。
2.访问一些COM组件需要管理员权限,用户不是管理员登录。
我“引用”的是Microsoft Outlook 11.0 Object Library
程序掉用这个组件,需要管理员权限吗?
关于权限问题,我前面也说了,我没有注意,因为我不知道如何注意,所以请说明白一点?
3.你也要确认一下Office安装的是否注册了运行时表(ROT),具体你可以参考以下链接看看,这个发生的可能性很小.
http://support.microsoft.com/search/default.aspx?query=rot&a……
这点不是很懂,我只知道我们公司的电脑系统安装是统一的没有问题。
不管怎么说,非常感谢您的回复! 检查OFFICE是否是精简版的 楼主的问题和我一样啊,我的2007也是这个问题
http://topic.csdn.net/u/20111130/15/698f998d-49ab-41e1-b497-348a4431fa37.html?73176
而且我的问题更大
不是,谢谢!
补充:VB , VBA