当前位置:编程学习 > VB >>

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的环境下是可以正常运行的。

请大家帮忙看看,谢谢!
应该是权限的问题
引用 1 楼 worldy 的回复:
应该是权限的问题


能说的清楚一点吗?什么权限?如何设置?谢谢! 问题应该出在:
Set objOutlookApp = CreateObject("Outlook.Application")
  Set objMail = objOutlookApp.CreateItem(0)
这两句的其中一句上
把OFFICE2010换成和你编写代码环境下一样的OFFICE。我认为是引用版本的问题。
引用 3 楼 veron_04 的回复:
问题应该出在:
Set objOutlookApp = CreateObject("Outlook.Application")
  Set objMail = objOutlookApp.CreateItem(0)
这两句的其中一句上
把OFFICE2010换成和你编写代码环境下一样的OFFICE。我认为是引用版本的问题。


你的意思是把OFFICE2010卸了 重装2003吗?
但是部分Win7+OFFICE2010的环境下,程序没有问题. 那你注意过权限吗?
引用 5 楼 veron_04 的回复:
那你注意过权限吗?


没有注意,请问如何注意?谢谢! 你的问题原因大概三种可能:
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

而且我的问题更大
引用 9 楼 cdz1980 的回复:
检查OFFICE是否是精简版的


不是,谢谢!
补充:VB ,  VBA
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,